JavaWeb同步学习笔记之七十七、JavaWeb_权限管理思路分析

JavaWeb_权限管理思路分析

权限管理思路分析

  • 1.使用 Filter 完成一个简单的权限模型:
     1)需求
      ①管理权限
       > 查看某人的权限
       > 修改某人的权限
      ②对访问进行权限控制:有权限则可以访问,否则提示:没有对应的权限,请返回。
     2)实现
      ①权限管理
       > 封装权限信息: Authority。
	Authority{
		//显示到页面上的权限的名字
		private String displayName;
		
		//权限对应的 URL 地址: 已权限对应着一个 URL, 例如 Article-1 -> /filter_1/article-1.jsp
		private String url;
	}

.
     > 封装用户信息: User。

	User{
		private String userName;
		private List<Autority> authorities;
		
		//...
	}

.
     > 创建一个 UserDao。

	User get(String userName);
	void update(String userName, List<Autority>);

.
     > 页面。

	authority-manager.jsp: 
	
		* 有一个 text 文本框, 供输入 userName, 提交后, 使用 checkbox 显示当前用户所有的权限的信息.
		
		<form action="/Filter_1/authorityServlet?method=getAuthority" method="post">
			Name: <input name="userName" type="text"/>
			<input type="submit" value="Submit"/>
		</form>
		
		* 检查 request 中是否有 user 信息, 若有, 则显示 xxx 的权限为: 对应的权限的 checkbox 打上对号. 提示, 页面上需要通过两层循环的方式来筛选出被选择的权限. 

		<form action="/Filter_1/authorityServlet?method=getAuthority" method="post">
	
			Name: <input name="userName" type="text"/>
			<input type="submit" value="Submit"/>
		
		</form>
		
		<br><br>
		
		AAA 的权限是:
		
		<br><br>
		
		<form action="/Filter_1/authorityServlet?method=updateAuthority" method="post">
			
			<!-- 使用隐藏域来保存用户的 userName -->
			<input name="userName" type="hidden" value="AAA"/>
				
			<input type="checkbox" name="authority" value="/app/article-1.jsp" checked="checked"/>Article-1
			<br><br>
			
			<input type="checkbox" name="authority" value="/app/article-2.jsp" checked="checked"/>Article-2
			<br><br>
			
			<input type="checkbox" name="authority" value="/app/article-3.jsp" checked="checked"/>Article-3
			<br><br>
			
			<input type="checkbox" name="authority" value="/app/article-4.jsp" />Article-4
			<br><br>
				
			<input type="submit" value="Update"/>
		
		</form> 

.
     > Servlet

	authority-manager.jsp 提交表单后 get 方法: 获取表单的请求参数: username, 再根据 username 获取 User 信息. 把 user 放入到	request 中, 转发到 authority-manager.jsp.	
	authority-manager.jsp 修改权限的表单提交后 update 方法: 获取请求参数: username, authory(多选); 把选项封装为 List; 调用 UserDao 的 update() 方法实现权限的修改; 重定向到 authority-manager.jsp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值