abstract
This commit is contained in:
@@ -23,6 +23,57 @@ use App\Wechat;
|
||||
|
||||
class AuthController extends Controller
|
||||
{
|
||||
|
||||
static private function log($user_id, $event, $request) {
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user_id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = $event;
|
||||
$log->save();
|
||||
}
|
||||
|
||||
private function wechatReg($user, $request) {
|
||||
if($request->session()->has('wechat_open_id') && !$user->baned) {
|
||||
$user->wechat_open_id = $request->session()->get('wechat_open_id');
|
||||
$user->save();
|
||||
|
||||
|
||||
|
||||
$this->log($user->id, "WechatBind_Success", $request);
|
||||
}
|
||||
}
|
||||
|
||||
private function afterLogin($user, $request) {
|
||||
if ($user->baned) {
|
||||
$nowdate = time();
|
||||
$banedstart = $user->banedstart;
|
||||
$date = $nowdate - $banedstart;
|
||||
if ($date > ($user->banedtime) * 86400 && $user->banedtime != -1) {
|
||||
$user->baned = 0;
|
||||
return Redirect::to('/');
|
||||
}
|
||||
|
||||
$this->log($user->id, "AfterLogin_Banned", $request);
|
||||
|
||||
if ($user->banedtime == -1)
|
||||
return Redirect::to('/login')->withInput()->withErrors('你已经被永久封禁!');
|
||||
return Redirect::to('/login')->withInput()->withErrors('你已经被封禁!' . ceil($user->banedtime - ($date / 86400)) . '天后解禁!');
|
||||
}
|
||||
|
||||
$this->log($user->id, "AfterLogin_Success", $request);
|
||||
|
||||
$request->session()->put('user_id', $user->id);
|
||||
$request->session()->put('username', $user->username);
|
||||
$request->session()->put('nickname', $user->nickname);
|
||||
if ($user->privilege)
|
||||
$request->session()->put('is_admin', $user->privilege);
|
||||
|
||||
if ($user->registerCompletion() != 0)
|
||||
return Redirect::to('/register/' . $user->registerCompletion());
|
||||
else
|
||||
return Redirect::to('/');
|
||||
}
|
||||
|
||||
public function showLogin()
|
||||
{
|
||||
return View::make('auth.login');
|
||||
@@ -45,46 +96,8 @@ class AuthController extends Controller
|
||||
return view('auth.wechatGuide')->with($data);
|
||||
}
|
||||
else {
|
||||
if ($user->baned) {
|
||||
$nowdate = time();
|
||||
$banedstart = $user->banedstart;
|
||||
$date = $nowdate-$banedstart;
|
||||
if($date>($user->banedtime)*86400 && $user->banedtime!=-1)
|
||||
{
|
||||
$user->baned = 0;
|
||||
return Redirect::to('/');
|
||||
}
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "wechat_oauth_login_banned";
|
||||
$log->save();
|
||||
// log end
|
||||
|
||||
if($user->banedtime == -1)
|
||||
return Redirect::to('/login')->withInput()->withErrors('你已经被永久封禁!');
|
||||
return Redirect::to('/login')->withInput()->withErrors('你已经被封禁!'.ceil($user->banedtime-($date/86400)).'天后解禁!');
|
||||
}
|
||||
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "wechat_oauth_login_success";
|
||||
$log->save();
|
||||
// log end
|
||||
|
||||
$request->session()->put('user_id', $user->id);
|
||||
$request->session()->put('username', $user->username);
|
||||
$request->session()->put('nickname', $user->nickname);
|
||||
if ($user->privilege)
|
||||
$request->session()->put('is_admin', $user->privilege);
|
||||
|
||||
if ($user->registerCompletion() != 0)
|
||||
return Redirect::to('/register/' . $user->registerCompletion());
|
||||
else
|
||||
return Redirect::to('/');
|
||||
$this->log($user->id, "Wechat_Login", $request);
|
||||
return $this->afterLogin($user, $request);
|
||||
}
|
||||
}
|
||||
return Redirect::to("http://api.xms.rmbz.net/open/oauth?path=" . env("APP_URL") . "/wx");
|
||||
@@ -108,25 +121,8 @@ class AuthController extends Controller
|
||||
$user->realname = phpCAS::getAttribute('name');
|
||||
$user->save();
|
||||
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "cas_reg_success";
|
||||
$log->save();
|
||||
// log end
|
||||
|
||||
if($request->session()->has('wechat_open_id')) {
|
||||
$user->wechat_open_id = $request->session()->get('wechat_open_id');
|
||||
$user->save();
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "wechat_oauth_sso_bind_success";
|
||||
$log->save();
|
||||
// log end
|
||||
}
|
||||
$this->log($user->id, "Cas_Reg_Success", $request);
|
||||
$this->wechatReg($user, $request);
|
||||
|
||||
$request->session()->put('user_id', $user->id);
|
||||
|
||||
@@ -134,58 +130,9 @@ class AuthController extends Controller
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($user->baned) {
|
||||
$nowdate = time();
|
||||
$banedstart = $user->banedstart;
|
||||
$date = $nowdate-$banedstart;
|
||||
if($date>($user->banedtime)*86400 && $user->banedtime!=-1)
|
||||
{
|
||||
$user->baned = 0;
|
||||
return Redirect::to('/');
|
||||
}
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "cas_login_banned";
|
||||
$log->save();
|
||||
// log end
|
||||
|
||||
if($user->banedtime == -1)
|
||||
return Redirect::to('/login')->withInput()->withErrors('你已经被永久封禁!');
|
||||
return Redirect::to('/login')->withInput()->withErrors('你已经被封禁!'.ceil($user->banedtime-($date/86400)).'天后解禁!');
|
||||
}
|
||||
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "cas_login_success";
|
||||
$log->save();
|
||||
// log end
|
||||
|
||||
$request->session()->put('user_id', $user->id);
|
||||
$request->session()->put('username', $user->username);
|
||||
$request->session()->put('nickname', $user->nickname);
|
||||
if ($user->privilege)
|
||||
$request->session()->put('is_admin', $user->privilege);
|
||||
|
||||
if($request->session()->has('wechat_open_id')) {
|
||||
$user->wechat_open_id = $request->session()->get('wechat_open_id');
|
||||
$user->save();
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "wechat_oauth_sso_bind_success";
|
||||
$log->save();
|
||||
// log end
|
||||
}
|
||||
|
||||
if ($user->registerCompletion() != 0)
|
||||
return Redirect::to('/register/' . $user->registerCompletion());
|
||||
else
|
||||
return Redirect::to('/');
|
||||
$this->log($user->id, "Cas_Login", $request);
|
||||
$this->wechatReg($user, $request);
|
||||
return $this->afterLogin($user, $request);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -196,13 +143,7 @@ class AuthController extends Controller
|
||||
if (filter_var($input['username'], FILTER_VALIDATE_EMAIL)) {
|
||||
$user = User::where('email', $input['username'])->first();
|
||||
if ($user != NULL && !$user->havecheckedemail) {
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "login_uncheckedmail";
|
||||
$log->save();
|
||||
// log end
|
||||
$this->log($user->id, "login_uncheckedmail", $request);
|
||||
return Redirect::back()->withInput()->withErrors('未验证您的邮箱,请查收您的电子邮箱或<a href="/user/' . $user->id . '/sendCheckLetter">重新发送一封</a>');
|
||||
}
|
||||
} else {
|
||||
@@ -215,68 +156,12 @@ class AuthController extends Controller
|
||||
$user->save();
|
||||
}
|
||||
|
||||
if ($user->baned) {
|
||||
$nowdate = time();
|
||||
$banedstart = $user->banedstart;
|
||||
$date = $nowdate-$banedstart;
|
||||
if($date>($user->banedtime)*86400 && $user->banedtime!=-1)
|
||||
{
|
||||
$user->baned = 0;
|
||||
return Redirect::to('/');
|
||||
}
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "login_banned";
|
||||
$log->save();
|
||||
// log end
|
||||
$this->log($user->id, "Normal_Login", $request);
|
||||
$this->wechatReg($user, $request);
|
||||
return $this->afterLogin($user, $request);
|
||||
|
||||
if($user->banedtime == -1)
|
||||
return Redirect::back()->withInput()->withErrors('你已经被永久封禁!');
|
||||
return Redirect::back()->withInput()->withErrors('你已经被封禁!'.ceil($user->banedtime-($date/86400)).'天后解禁!');
|
||||
}
|
||||
|
||||
//Successfully logged in
|
||||
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "login_success";
|
||||
$log->save();
|
||||
// log end
|
||||
|
||||
$request->session()->put('user_id', $user->id);
|
||||
$request->session()->put('username', $user->username);
|
||||
$request->session()->put('nickname', $user->nickname);
|
||||
if ($user->privilege)
|
||||
$request->session()->put('is_admin', $user->privilege);
|
||||
|
||||
if($request->session()->has('wechat_open_id')) {
|
||||
$user->wechat_open_id = $request->session()->get('wechat_open_id');
|
||||
$user->save();
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "wechat_oauth_bind_success";
|
||||
$log->save();
|
||||
// log end
|
||||
}
|
||||
|
||||
if ($user->registerCompletion() != 0)
|
||||
return Redirect::to('/register/' . $user->registerCompletion());
|
||||
else
|
||||
return Redirect::to('/');
|
||||
} else {
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->username = $input['username'];
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "login_authfail";
|
||||
$log->save();
|
||||
// log end
|
||||
$this->log($user->id, "login_authfail", $request);
|
||||
return Redirect::back()->withInput()->withErrors('用户名或者密码错误!<a href="/iforgotit">忘记密码?</a>');
|
||||
}
|
||||
}
|
||||
@@ -304,25 +189,13 @@ class AuthController extends Controller
|
||||
$user->baned = false;
|
||||
$user->save();
|
||||
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "reg_success";
|
||||
$log->save();
|
||||
// log end
|
||||
$this->log($user->id, "reg_success", $request);
|
||||
return $this->sendCheckLetter($request, $user->id);
|
||||
}
|
||||
|
||||
public function logOut(Request $request)
|
||||
{
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $request->session()->get('user_id');
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "logout";
|
||||
$log->save();
|
||||
// log end
|
||||
$this->log($request->session()->get('user_id'), "logout", $request);
|
||||
|
||||
$request->session()->forget('user_id');
|
||||
$request->session()->forget('username');
|
||||
@@ -370,13 +243,7 @@ class AuthController extends Controller
|
||||
$m->to($email, $user->username)->subject('验证你的邮箱');
|
||||
});
|
||||
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user_id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "sendcheckletter";
|
||||
$log->save();
|
||||
// log end
|
||||
self::log($user->id, "sendcheckletter", $request);
|
||||
}
|
||||
|
||||
static private function doSendUnbindLetter(Request $request, $user_id)
|
||||
@@ -412,13 +279,7 @@ class AuthController extends Controller
|
||||
$m->to($email, $user->username)->subject('邮箱解绑请求');
|
||||
});
|
||||
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user_id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "sendunbindletter";
|
||||
$log->save();
|
||||
// log end
|
||||
self::log($user->id, "sendunbindletter", $request);
|
||||
}
|
||||
|
||||
public function setUsername(SetUsernameRequest $request)
|
||||
@@ -500,13 +361,8 @@ class AuthController extends Controller
|
||||
$user->update();
|
||||
$check_email->delete();
|
||||
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "checkemail";
|
||||
$log->save();
|
||||
// log end
|
||||
$this->log($user->id, "checkemail", $request);
|
||||
|
||||
return Redirect::to('/login')->withErrors('已验证您的邮箱!现在你可以用这个邮箱登录啦!');
|
||||
}
|
||||
|
||||
@@ -523,13 +379,8 @@ class AuthController extends Controller
|
||||
$user->update();
|
||||
$check_email->delete();
|
||||
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "unbindemail";
|
||||
$log->save();
|
||||
// log end
|
||||
$this->log($user->id, "unbindemail", $request);
|
||||
|
||||
return Redirect::to('/user?tab=account')->withErrors('已解绑您的邮箱!');
|
||||
}
|
||||
|
||||
@@ -574,13 +425,9 @@ class AuthController extends Controller
|
||||
$m->from(env('MAIL_USERNAME'), '先锋市场');
|
||||
$m->to($email, $user->username)->subject('重置密码');
|
||||
});
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "sendpwdresetletter";
|
||||
$log->save();
|
||||
// log end
|
||||
|
||||
$this->log($user->id, "sendpwdresetletter", $request);
|
||||
|
||||
}
|
||||
return View::make('auth.passwordForget')->with($data);
|
||||
}
|
||||
@@ -604,23 +451,13 @@ class AuthController extends Controller
|
||||
$data['sentence'] = '无效的链接';
|
||||
$data['alert'] = 'danger';
|
||||
$data['fa'] = 'exclamation-circle';
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "resetpwd_invalid";
|
||||
$log->save();
|
||||
// log end
|
||||
$this->log("", "resetpwd_invalid", $request);
|
||||
return View::make('user.resetPassword')->with($data);
|
||||
} else if (time() - $token[1] > 48 * 60 * 60) {
|
||||
$data['sentence'] = '此链接已过期';
|
||||
$data['alert'] = 'danger';
|
||||
$data['fa'] = 'exclamation-circle';
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "resetpwd_expired";
|
||||
$log->save();
|
||||
// log end
|
||||
$this->log("", "resetpwd_expired", $request);
|
||||
return View::make('user.resetPassword')->with($data);
|
||||
}
|
||||
$input = $request->all();
|
||||
@@ -632,13 +469,8 @@ class AuthController extends Controller
|
||||
$data['alert'] = 'success';
|
||||
$data['fa'] = 'check';
|
||||
|
||||
// log start
|
||||
$log = new AuthLog();
|
||||
$log->user_id = $user->id;
|
||||
$log->ip = $request->ip();
|
||||
$log->event = "resetpwd_success";
|
||||
$log->save();
|
||||
// log end
|
||||
$this->log($user->id, "resetpwd_success", $request);
|
||||
|
||||
return View::make('auth.resetPassword')->with($data);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user