shiro--Web集成

一,依赖
在maven,pom.xml中导入相关依赖,如下:
javax.servlet javax.servlet-api 3.0.1 provided


    org.apache.shiro
    shiro-web
    1.2.2

Shiro 1.1 及以前版本配置方式
1.2在web.xml中加入以下过滤配置


    iniShiroFilter
    org.apache.shiro.web.servlet.IniShiroFilter
    
        configPath
        classpath:shiro.ini
    


    iniShiroFilter
    /*

1.使用 IniShiroFilter 作为 Shiro 安全控制的入口点,通过 url-pattern 指定需要安全的 URL;
2.通过 configPath 指定 ini 配置文件位置,默认是先从 /WEB-INF/shiro.ini 加载,如果没有就默认加载 classpath:shiro.ini,即默认相对于 web 应用上下文根路径;
3.也可以通过如下方式直接内嵌 ini 配置文件内容到 web.xml。


    config
    
        ini配置文件贴在这
    

二 shiro.ini配置
ini中不允许中途换行,否则会报错。在INI文件中注释只有#号

[main]
\#默认是/login.jsp
authc.loginUrl=/login
roles.unauthorizedUrl=/unauthorized
perms.unauthorizedUrl=/unauthorized
[users]
zhang=123,admin
wang=123
[roles]
admin=user:*,menu:*
[urls]
/login=anon
/unauthorized=anon
/static/**=anon
/authenticated=authc
/role=authc,roles[admin]
/permission=authc,perms["user:create"]

其中最重要的就是 [urls] 部分的配置,其格式是: “url = 拦截器 [参数],拦截器[参数]”;即如果当前请求的 url 匹配[urls] 部分的某个 url 模式,将会执行其配置的拦截器。比如 anon 拦截器表示匿名访问(即不需要登录即可访问);authc 拦截器表示需要身份认证通过后才能访问;roles[admin]拦截器表示需要有 admin 角色授权才能访问;而 perms[“user:create”]拦截器表示需要有 “user:create” 权限才能访问。

url 模式使用 Ant 风格模式
Ant 路径通配符支持?、、,注意通配符匹配不包括目录分隔符 “/”:
?:匹配一个字符,如”/admin?” 将匹配 / admin1,但不匹配 / admin 或 / admin2;
\:匹配零个或多个字符串,如 / admin * 将匹配 / admin、/admin123,但不匹配 / admin/1;
\:匹配路径中的零个或多个路径,如 / admin/ 将匹配 / admin/a 或 / admin/a/b。

具体请参考https://www.w3cschool.cn/shiro/c52r1iff.html

你可能感兴趣的:(shiro,shiro)