>  기사  >  Java  >  PlayFramework는 APP를 완벽하게 구현합니다. (11)

PlayFramework는 APP를 완벽하게 구현합니다. (11)

黄舟
黄舟원래의
2016-12-23 16:51:371296검색

标签:class   style   log   com   http   使用   it   src   la   

添加权限控制

 

1.导入Secure module,该模块提供了一个controllers.Secure控制器。

 /conf/application.conf

# Import the secure module
module.secure=${play.path}/modules/secure

  

/conf/routes

# Import Secure routes
*       /                                       module:secure

  

2.在Post Comment User Tag控制器上添加标签

@With(Secure.class)public class Posts extends CRUD {    
}

 

启动Server,访问 localhost:9000/admin,如果页面报错(或编译失败),参考上一章添加CRUD模块

PlayFramework는 APP를 완벽하게 구현합니다. (11)

3.添加权限控制

创建权限控制器 /controllers/Security.java

import models.*;public class Security extends Secure.Security {    static boolean authenticate(String username, String password) {        return User.connect(username, password) != null;
   }
}

通过 localhost:9000/logout 退出登录,使用正确的用户名密码进行登录

 

4.添加登录页面

创建Admin Controller

@With(Secure.class)public class Admin extends Controller {
   @Before    static void setConnectedUser() {        if(Security.isConnected()) {
           User user = User.find("byEmail", Security.connected()).first();
           renderArgs.put("user", user.fullname);
       }
   }    
   public static void index() {
       render();
   }
}

 

添加路由

# Administration
GET       /admin/?                                 Admin.index
*         /admin                                   module:crud

  

修改main.html


  

添加/views/admin.html



   


       Administration
       
       #{get ‘moreStyles‘ /}
                       href="@{‘/public/stylesheets/main.css‘}" />
                       href="@{‘/public/images/favicon.png‘}" />
       
       
   
   
       
       
       
       

           #{doLayout /} 🎜>        
       
       
       
   


  

添加/views/Admin/index.html

#{extends 'admin.html' /}


${user}님을 환영합니다!

  

5.添加角color

Security控system器重写check방법

정적 부울 검사(문자열 프로필) {    if("admin" .equals(profile)) {        return User.find("byEmail",connected()).first().isAdmin;

   }    return false;
}

 

修改admin.html,显示用户是否有admin角color

   
   


           

  •            내 게시물
           

  •        #{secured' .check 'admin'}
               

  •                게시물
               

  •            

  •                태그
               

  •            

  •                댓글
               

  •            

  •                사용자
               

  •        #{/secure .check}
       

   
   #{doLayout /}


  

포스트、태그、 User、Comment控器上添加标签,只有admin 역할의User才能访问 http://localhost:9000/admin/{####}

@Check("admin")@With(Secure. 클래스) 공개 클래스 게시물은 crud를 확장합니다 {}



PlayFramework는 APP를 완벽하게 구현합니다. (11) 以上 就 是 是 是 是 是 是 的 内容 内容 内容 内容 内容 更 多 相关 相关 内容 请 请 关注PHP中文网(www.php.cn)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.