123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- <?php
- namespace app\index\controller;
- use app\BaseController;
- use app\common\api\UserApi;
- use think\facade\Db;
- /**
- * Description of Login
- *
- * @author sgq
- */
- class Auth extends BaseController {
- /**
- * 登录
- * @return type
- */
- public function login() {
- if ($user = session("user")) {
- if($user['usertype'] == 2){
- return redirect("/enterprise");
- }
- }
- $msg = "";
- if ($this->request->isPost()) {
- $username = $this->request["username"];
- $pwd = $this->request["password"];
- $usertype = $this->request["usertype"];
- $user = new UserApi($username, $pwd, $usertype);
- if (!$userinfo = $user->getUserInfo()) {
- $msg = "用户不存在";
- } else if (!$user->checkPwd()) {
- $login_fail = session('login_fail');
- if($login_fail){
- $login_fail++;
- if($login_fail >= 5){
- session('captcha',1);
- }
- }else{
- $login_fail = 1;
- }
- session('login_fail',$login_fail);
- $msg = "用户名或者密码错误";
- } else if($res_msg = $user->checkState()){
- if($user->info['checkState'] == 2){
- return redirect("/common/auth/enterprise_edit");
- }
- $msg = $res_msg;
- }
- $url = "/admin";
- switch ($usertype) {
- case 1:
- //验证错误
- break;
- case 2:
- //验证错误
- $url = "/enterprise";
- break;
- case 3:
- //验证错误
- $url = "/person";
- break;
- }
- if (!$msg) {
- $user->setSession();
- return redirect($url);
- }
- }
- return view("", ["msg" => $msg]);
- }
- /**
- * 退出
- * @return type
- */
- public function logout() {
- session("user", null);
- return redirect("/index/auth/login");
- }
- /**
- * 验证密码
- */
- public function valid_password() {
- if ($user = session("user")) {
- $username = $user["account"];
- $usertype = $user["usertype"];
- $pwd = $this->request["password"];
- $user = new UserApi($username, $pwd, $usertype);
- if (!$user->checkPwd()) {
- return json()->data(["status" => 1, "msg" => "密码错误"]);
- } else {
- return json(["code" => 200]);
- }
- } else {
- return json()->data(["status" => 2]);
- }
- }
- public function policy(){
- return view("", []);
- }
- public function policy_list(){
- $level = $this->request->post('level');
- if($level){
- $where[] = ['level','=',$level];
- }else{
- $where[] = ['level','>',0];
- }
- $list = Db::table('new_policy')->where($where)->select()->toArray();
- $result = [];
- foreach ($list as $k => $v){
- $check = [];
- $condition = [];
- if(!empty($v['checks'])){
- $check = explode(',',$v['checks']);
- }
- if(!empty($v['condition'])){
- $condition = explode(',',$v['condition']);
- }
- $item = [
- 'id' => $v['id'],
- 'tag' => $v['tag'],
- 'policy' => $v['policy_name'],
- 'checks' => $check,
- 'condition' => $condition
- ];
- array_push($result,$item);
- }
- return json($result);
- }
- public function policy_update(){
- $res = $this->request->post();
- foreach ($res as $k => $v){
- $update = [];
- if(count($v['checks']) > 0){
- $update['checks'] = implode(',',$v['checks']);
- }
- if(count($v['condition']) > 0){
- $update['condition'] = implode(',',$v['condition']);
- }
- if(count($update) > 0){
- Db::table('new_policy')->where('id',$v['id'])->save($update);
- }
- }
- }
- }
|