Heim  >  Artikel  >  Java  >  PlayFramework implementiert eine APP vollständig (11)

PlayFramework implementiert eine APP vollständig (11)

黄舟
黄舟Original
2016-12-23 16:51:371292Durchsuche

标签: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 implementiert eine APP vollständig (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' /}

Willkommen ${user}!first().isAdmin;
   }    return false;

}

 

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


   
   

           
  •            Meine Beiträge

           

  •        #{secure .check 'admin'}

               

  •                Posts

               


  •            

  •                Tags
               

  •            

  •                Comments
               

  •            

  •                Users
               

  •        #{/secure .check

   
   #{doLayout /}



  

在Post、Tag、 Benutzer、Kommentar控制器上添加标签,只有Administratorrolle的Benutzer才能访问 http://localhost:9000/admin/{####}

@Check("admin")@With(Secure. class)public class Posts erweitert CRUD {
}


容请关注PHP中文网(www.php.cn)!



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn