apache shiro 管理用户权限与数据库交互.doc
文本预览下载声明
apache shiro 管理用户权限与数据库交互
下面这个例子主要是使用[urls],这个功能很有好,比如:
[urls]
/login.jsp = anon
/admin/admin.jsp = authc,roles[admin]
/guest/** = authc,roles[guest]
当用户进入admin.jsp页面时,一定要认证成功的(authc),还要角色是admin(roles[admin]),符合这两个条件才能成功进入admin.jsp页面,相似的,进入guest包里的所有页面,都要认证成功并且角色是guest
这样设置,就可以容易管理每一个页面的登录权限,非常方便的方法
下面就简单的例子,用户数据都是存在在数据库的,这里使用到默认的JDBCRealm
先看我的项目:
前端页面部分代码:
login.jsp
center
form action=LoginSelvet method=post
username:input type=text name=username/br
password:input type=text name=password/br
input type=submit value=login/
/form br
/center
/body
这只是一个简单登录页面
index.jsp
body
admin: a href=admin/admin.jspadmin/abr
guest: a href=guest/guest.jspguest/abr
/body
有两个链接,我的目的是:
只有admin的角色才能进入admin.jsp页面
只有guest角色才能进入guest.jsp页面
admin.jsp与guest.jsp页面大家自己定义一下就可以了
下面是web.xml代码
?xml version=1.0 encoding=UTF-8?
web-app version=2.5
xmlns=/xml/ns/javaee
xmlns:xsi=/2001/XMLSchema-instance
xsi:schemaLocation=/xml/ns/javaee
/xml/ns/javaee/web-app_2_5.xsd
display-name/display-name
servlet
descriptionThis is the description of my J2EE component/description
display-nameThis is the display name of my J2EE component/display-name
servlet-nameLoginSelvet/servlet-name
servlet-classcom.wei.selvet.LoginSelvet/servlet-class
/servlet
servlet-mapping
servlet-nameLoginSelvet/servlet-name
url-pattern/LoginSelvet/url-pattern
/servlet-mapping
welcome-file-list
welcome-filelogin.jsp/welcome-file
/welcome-file-list
filter
filter-nameShiroFilter/filter-name
filter-classorg.apache.shiro.web.servlet.IniShiroFilter/filter-class
init-param
param-nameconfig/param-name
param-value
[main]
mds = com.mysql.jdbc.jdbc2.optional.MysqlDataSource
mds.serverName = localhost
mds.user = root
mds.password = 900507
mds.databaseName = shiro
mds.url = jdbc:mysql://localhost/shiro
jdbcRealm = org.apache.shiro.realm.jdbc.JdbcRealm
jdbcRealm.permissionsLooku
显示全部