文档章节

web安全 - - 授权的配置以及实现基于表单的认证

s
 stupid_wolf
发布于 2015/12/16 17:14
字数 411
阅读 20
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

首先在 tomcat-users.xml中配置

<tomat-users>
    <role rolename="Admin"/>
    <role rolename="Member"/>
    <role rolename="Guest"/>
    <user username="Stupid Wolf" password="admin" roles="Admin, Member, Guest"/>
 </tomcat-users>

接着在 web.xml中配置

<security-role>
    <role-name>Admin</role-name>
</security-role>
<!--授权时,容器将把开发商特定的role信息映射到这里的找到的<role-name>中 -->

定义资源/方法约束

<security-constraint>

  <web-resource-collection>
    <web-resource-name>Resources</web-resource-name>
    <url-pattern>/url of files</url-pattern>
    <http-method>POST</http-method>
    <http-method>GET</http-method>
  </web-resource-collection>
  
  <auth-constraint>
    <role-name>Admin</role-name>
  </auth-constraint>
  
</security-constraint>

在web.xml添加

<login-config>
  <auth-method>FORM</auth-method>
  <form-login-config>
  	<form-login-page>/login.html</form-login-page>
  	<form-error-page>/error.html</form-error-page>
  </form-login-config>

其中login.html error.html的代码分别为

<!DOCTYPE html>
<html>
  <head>
    <title>login.html</title>
	
    <meta name="keywords" content="keyword1,keyword2,keyword3">
    <meta name="description" content="this is my page">
    <meta name="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

  </head>
  
  <body>
    <form name="f1" id="f1" action="j_security_check" method="post">
      <table>
        <tr>
          <td>Login:</td>
          <td><input type="text" name="j_username" id="login"></td>
        </tr>
        <tr>
          <td>Password:</td>
          <td><input type="password" name="j_password" id="password"></td>
        </tr> 
        <tr>
          <td colspan="2"><input type="submit"></td>
        </tr>
      </table>
    </form>
  </body>
</html>
<!DOCTYPE html>
<html>
  <head>
    <title>error.html</title>
	
    <meta name="keywords" content="keyword1,keyword2,keyword3">
    <meta name="description" content="this is my page">
    <meta name="content-type" content="text/html; charset=UTF-8">
    <meta charset="UTF-8">
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

  </head>
  
  <body>
  error!
     身份认证错误 <br>
  </body>
</html>

最后,我们也就完成了未经认证的客户请求一个没有传输保证的受限资源


附上结果截图:

其中 Security/test.jsp为一个受限的资源

当未经授权的用户访问test.jsp时,会弹出一个身份认证的表单

输入正确的身份之后,访问成功,否则,访问失败









© 著作权归作者所有

s
粉丝 1
博文 24
码字总数 4084
作品 0
程序员
私信 提问
更加优雅地配置Spring Securiy(使用Java配置和注解)

Spring Security 借助一系列Servlet Filter 来提供安全性功能,但是借助Spring的小技巧,我们只需要配置一个Filer就可以了,DelegatingFilterProxy是一个特殊的Servlet Filter,它本身所做的...

小小庄
2016/10/14
0
0
在 Web 项目中应用 Apache Shiro 开源权限框架

Apache Shiro 是功能强大并且容易集成的开源权限框架,它能够完成认证、授权、加密、会话管理等功能。认证和授权为权限控制的核心,简单来说,“认证”就是证明你是谁? Web 应用程序一般做法...

IBMdW
2013/02/05
21.2K
38
SpringBoot+mybatis+springsecurity实现用户角色数据库管理

SpringSecurity是专门针对基于Spring项目的安全框架,充分利用了依赖注入和AOP来实现安全管控。在很多大型企业级系统中权限是最核心的部分,一个系统的好与坏全都在于权限管控是否灵活,是否...

ben4
2017/11/24
0
0
Apache Shiro 开源权限框架

用户权限模型 在揭开 Shiro 面纱之前,我们需要认知用户权限模型。本文所提到用户权限模型,指的是用来表达用户信息及用户权限信息的数据模型。即能证明“你是谁?”、“你能访问多少 受保护...

村长大神
2016/10/20
37
0
django 1.8 官方文档翻译: 13-1-1 Django 中的用户认证

Django 中的用户认证 Django从开始就带有一个用户认证系统。它处理用户账号、组、权限以及基于cookie的用户会话。本节文档解释默认的实现如何直接使用,以及如何扩展和定制它以适合你项目的需...

apachecn_飞龙
2015/08/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周四乱弹 —— 浙江台的电话号码倒是记得挺牢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :《Out On The Streets》 一直不理解北欧人对重金属和死亡摇滚的热情,听完这首歌好像理解了。#今日歌曲推荐# 《Out On The Stre...

小小编辑
今天
6
0
Leetcode PHP题解--D121 21. Merge Two Sorted Lists

D121 21. Merge Two Sorted Lists 题目链接 21. Merge Two Sorted Lists 题目分析 合并两个有序链表。 思路 逐个遍历两个链表,把小的数字塞入数组里。之后再拼起来。 最终代码 <?php/** *...

skys215
今天
5
0
mars-config 动态配置管理

mars-config 码云地址:https://gitee.com/fashionbrot/mars-config 介绍 spring mvc 、springboot 动态配置系统。http 轮训方式 更新 动态配置 软件架构 软件架构说明 后端使用技术 :sprin...

fashionbrot
今天
14
0
女朋友玩吃鸡手游被开挂老哥骗炮,我见义勇为将骗子绳之以法

大家好,我是乔哥。 晚上10点以后下班后我回到自如出租房里面,开始处理公众号粉丝发来的消息,一条一条处理,突然看到了这么几条消息,吸引了我的眼球: 然后我就和这位女粉丝小红(化名)聊...

gzc426
今天
9
0
两款软件

fadetop保护眼睛软件 Snipaste截图软件

伟大源于勇敢的开始
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部