shiro启用注解方式-创新互联

shiro验证权限方式一种是基于url配置文件:shiro启用注解方式

例如:

创新互联公司是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:成都响应式网站建设公司成都品牌网站建设全网整合营销推广。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。成都网站建设、成都做网站、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。
 
        

        
        

        
        

        
        

        

        
            
                
          /home=authc
                /resources/**=anon

            
        
    

另外一种是基于注解:

例如:

RequiresAuthentication注解

RequiresAuthentication注解要求在访问或调用被注解的类/实例/方法时,Subject在当前的session中已经被验证。

@RequiresAuthentication

public void updateAccount(Account userAccount) {

//this method will only be invoked by a

//Subject that is guaranteed authenticated
...

}

RequiresGuest注解

RequiresGuest注解要求当前Subject是一个“访客”,也就是,在访问或调用被注解的类/实例/方法时,他们没有被认证或者在被前一个Session记住。

@RequiresGuest

public void signUp(User newUser) {

//this method will only be invoked by a

//Subject that is unknown/anonymous
...

}

RequiresPermissions 注解

RequiresPermissions 注解要求当前Subject在执行被注解的方法时具备一个或多个对应的权限。

@RequiresPermissions("account:create")

public void createAccount(Account account) {

//this method will only be invoked by a Subject

//that is permitted to create an account
...

}

RequiresRoles 注解

RequiresPermissions 注解要求当前Subject在执行被注解的方法时具备所有的角色,否则将抛出AuthorizationException异常。

@RequiresRoles("administrator")

public void deleteUser(User user) {

//this method will only be invoked by an administrator
...

}

如果在Controller中如果直接使用上面标签是不起作用的,需要开启shiro注解

bean id="myRealm" class="com.controller.MyRealm"/>

        
    

    
    
    

    
        
    

    
        
    
    
        
            
                
                
                    redirect:/login

                
                
                    redirect:/admin/common/exceptionLog

            
        
        
    

其中com.controller.MyRealm类是我自定义的继承自AuthorizingRealm的类


网页名称:shiro启用注解方式-创新互联
分享路径:http://pwwzsj.com/article/dpdjjg.html