当前位置:首页 » 操作系统 » springsecurity源码

springsecurity源码

发布时间: 2022-02-25 21:08:22

Ⅰ spring security form-login可以配置绝对路径吗

default-target-url是可以设置绝对地址。一种方法是修改源码,第二种方法就是先相对路径跳转到http下的某个中转类(如:struts2的action),然后再重定向到https的路径。

Ⅱ Spring Security3 和 struts2 整合例子

你太幸运了,刚好公司最近在用这个东西,不过是ssh整合的

Ⅲ spring和spring security的区别

spring是一整套应用程序框架,也是一种设计思想,他实现了很多实用工具,开发者直接使用这些工具可以提高开发速度,减少代码编写量,sping最大的用途是进行对象间的解耦操作,可实现设计松散耦合的应用程序系统,以便达到更高的可维护性和可扩展性能。

spring security是基于sping core的一个具体工具实现,主要用来管理应用程序的安全性,并提供了一组用户权限的解决方案。

简单点说,以一个web应用程序举例,sping框架负责整个应用程序的构架,spring seurity负责用户登录和用户权限管理。

另:spring框架包含很多工具,这些工具的使用涵盖非常多的基础知识,例如: web servlet编程,aop动态代理, 面向方面编程(不是面向对象编程),mvc框架,orm对象映射 等等等等,如果你是初学者,建议从 java基础 和 servlet基础学起,不要一上来就学 spring框架了。
如果你是中级水平,建议先学独立的 mvc框架、orm对象映射等技术,再学sping与这些框架的集成工作方式
如果你是高级水平,建议直接看sping的源代码,很容易就能掌握spring框架的工作原理与编程思想的。

spring在其官方网站提供了很全面的当前版本参考手册,英文版的,如果你英文一般,可以在spring中文论坛中找spring的中文参考手册,不过最新版的sping框架参考手册好像还没出中文版的,祝你好运。

Ⅳ 求个spring security2 表单登入可运行的代码 。谢谢 [email protected]

spring security2的登录验证是由组件本身的代码实现的,你只需要做登陆页面即可,给你一个我在项目中使用过的登陆页面的源代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix='c' uri='http://java.sun.com/jstl/core_rt' %>
<%@ taglib prefix='fmt' uri='http://java.sun.com/jstl/fmt' %>
<%@ page import="org.springframework.security.ui.AbstractProcessingFilter" %>
<%@ page import="org.springframework.security.ui.webapp." %>
<%@ page import="org.springframework.security.AuthenticationException" %>

<!-- Not used unless you declare a <form-login login-page="/login.jsp"/> element -->

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />

<style type="text/css">

#pic {
width: 480px;
height: 300px;
position: relative;
}
#pic fieldset{
margin: 0;
padding: 0;
border:0px

}
#pic div{
position: absolute;
top: 100px;
left:50px;
}
#pic div label{
float: left;
font-size:13px;
font-weight:bold;
width: 86px; /*width of label (left column)*/
text-transform: uppercase;
/*border-bottom: 1px solid red;*/
margin-right: 18px; /*spacing with right column*/
text-align:right;
line-height : 22px;
}
input.text{
width: 118px;
}

</style>
</head>

<body onload="document.f.j_username.focus();">

<center>
<div id="pic">

<%-- this form-login-page form is also used as the
form-error-page to ask for a login again.
--%>

<img src="/CMSWeb/common/media/login_back.jpg" width="480px" height="300px" alt="配置管理系统" />
<form name="f" action="<c:url value='j_spring_security_check'/>" method="POST">
<fieldset class="singlerow">

<c:if test="${not empty param.login_error}">
<font color="red">
登录失败或者你没有权限访问目标!<br/>
错误原因:<c:out value="${SPRING_SECURITY_LAST_EXCEPTION.message}"/>.<br/>
您的此次访问将会被永久记录下来。
</font>

</c:if>
<div>
<p>
<label>用户:</label><input maxlength="18" size="30" type='text' class="text" name='j_username' value='<c:if test="${not empty param.login_error}"><c:out value="${SPRING_SECURITY_LAST_USERNAME}"/></c:if>' />
</p>
<p>
<label>密码:</label><input maxlength="18" size="30" type='password' class="text" name='j_password' />
</p>
<!-- input type="checkbox" name="_spring_security_remember_me">Don't ask for my password for two weeks -->
<br/>
<p>
<input name="submit" type="submit" value="提交"><input name="reset" type="reset" value="取消">
</p>
</div>
</fieldset>
</form>
</div>
</center>
</body>
</html>

Ⅳ Spring Security对Android客户端如何实现权限管理

后台的东西无论是安卓,ios都差不多的,如果后台用的是Spring+spring mvc +hibernate架构的话,先导入spring security的包进项目,然后编写spring security配置文件(网络上一大堆),如果对安全要求不高,直接全部用默认的类就能实施一个安全登录的东西了,如果有其他要求,就需要自己编写一些类比如过滤器之类的,然后作为一个普通bean使用。记得要在web.xml中包含你的配置文件,若全部使用默认配置,数据库那里的表名、字段名,表单的action属性,账号、密码的name属性都有要求(是一个定值),要注意。全部都是本人在使用spring security时候的一点小经验,望采纳

Ⅵ spring security仅实现控制账号重复登录,有没有人有实例给我发一下

Spring Security何控制权限概要 Spring使用由Filter组Chain判断权限图所示:Spring预定义out-of-boxed filter供发者直接使用每Filter般情况(些Filterabstract)都配置文件元素(情况能属性)应比:AUTHENTICATION_PROCESSING_FILTER应配置文件面:http/form-login元素 Spring提供Filter能满足系统权限功能发者自定义FilterFilter放某Filter Chain某位置替换掉原Filter Chain某Filter放某Filter前或者 总Spring Security采用Filter Chain模式判断权限Spring提供些Filter支持发者自定义Filter与WEB系统集 使用Java EEFilter(非SpringFilter)机制需要权限判断url牵引给SpringFilter Chain即 般情况所url都引入Filter Chainweb.xml配置需要权限判断url(配置filter-mapping/url-pattern)Spring配置文件支持滤掉需要权限判断url(配置http/intercept-url元素)控制内容 Spring Security提供内容控制:一. url;二. bean method;三. http session url:需要权限判断url需要权限判断url登录表单url通我spring相关帖参考文档阅读需要权限判断url仅限于做角色判断说判断前用户否具指定角色 bean method:Spring支持Service layer method做权限判断通我spring相关帖参考文档阅读仅限于做角色判断配置式二种:一. 写Java源代码面:@Secured("ROLE_TELLER")(该具TELLER角色用户能够访问否则抛异);二. 写配置文件面:(该bean所set具ADMIN角色用户能够访问否则抛异) http session:控制用户名否能重复登录及重复登录数并非重试密码数 另外Spring Security提供些功能:一. remember me记住我;二. form-login登录控制;三. 种身份认证功能;四. 用户密码加密salt功能;5. http协议控制;陆. 访问端口控制;漆. Pre-Invocation & After-Invocation remember me记住我:记浏览器采用cookie记住用户名密码自登录像(知道我理解错没应该没我敢相信)使用功能发者登录页面使用spring自定义标签 form-login登录控制:些页面允许匿名访问匿名访问些页面候弹(或者转)form-login窗口(或者页面)牵引二问题:一输入用户名密码验证;二密码否需要加密加密 种身份认证功能:Spring提供丰富用户身份认证功能身份认证意思比您告诉我我神仙我问您凭证明您神仙身份认证认证手段般保存数据库表用户名/密码usb keyldap等般情况我都使用用户名/密码 用户密码加密salt功能:密码采用md5sha加密算我密码加密候想仅仅密码加密想用户名密码放起加密做加密密码使用salt吧salt支持读取用户其属性仅用户名 http协议控制:哪些url必须采用https访问呢哪些url必须采用http访问呢哪些两者都呢通配置 访问端口控制:类似http协议控制控制url访问端口间关系 Pre-Invocation & After-Invocation:调用前做权限判断调用做权限判断呢般情况前调用情况调用具体例看官文档(二二.三节)细粒度权限控制 由面析我看url、method权限判断都仅限于用户角色权限判断事实Spring使用投票(Voter)机制做权限判断用户角色权限种投票投票词听起容易懂举例:董事各股东投票表决决议否通Spring角色投票器投票我平所说投票至少要二张票吧张叫投票Spring投票三种结:允许、拒绝弃权弃权真点晕呵呵种情况弃权 投票器何集SpringFilter面呢SpringFilter般都由Manager支撑着比accessDecisionManager由RoleVoterBasicAclEntryVoter提供投票accessDecisionManager根据RoleVoterBasicAclEntryVoter投票结做决策判断 细粒度(数据级)权限控制Spring Security提供种模型及相关实现面我简要说说模型举例:张三授权查询华北区域客户资料李四授权查询华南区域客户资料首先所客户记录做标示(相于取id)acl-entry表给张三授权华北所客户访问权限;给李四华南区域所客户权限表记录致:访问用户访问数据授权操作张三华北电力客户一读取张三华北电力客户二读取李四华南电力客户一读取………模型缺点非明显:一. 业务数据绑定死业务数据增/删需要维护该权限表;二. 数据量情况系统效率低 发者需要自书写投票器我理想权限管理客户权限管理需求 指我服务终用户软件发者客户权限管理需求体概括:一. 自主灵管理角色、角色权限并角色赋予系统相关用户;二. 数据安全系统展现数据满足权限系统内部搜索数据必须相应权限访问内系统数据进行增加、修改、删除必须满足权限;三. 没功能按钮、菜单、数据等等要界面现发遇难点 管理用户、角色、权限及三者间关系种典型RBAC模型非容易没任何困难 困难数据级权限控制业务直接挂钩复杂且经客户需求表达位、发员需求理解位、系统框架库表结构发变化断变化种变化仅需要编码且需要重新测试甚至种变化波及其模块甚至整系统系统发经历几变化代码面散布着if/else散布着sql语句导致bad smell我理想权限管理 我期望权限管理应该具几特性:一. 能实现角色级权限;能实现数据级权限;二. 简单、易操作能够应各种需求;三. 应需求变更能力强;四. 相关界面比权限管理界面、角色管理界面角色权限关系维护界面用户角色关系维护界面没界面接受毕竟些页面需要终用户使用同用户系统界面要求同我并期望统管理界面 Spring Security评价 Spring Security世界区哪些资源匿名访问哪些需要角色权限哪页面提供登录功能;进行用户身份认证用户密码何加密哪些资源必须使用https协议资源访问端口应关系 面优点缺点Spring Security进行点评优点 总体说Spring Security具几优点:一. 提供套权限框架套框架行;二. 提供用户身份认证功能节约量发工作;三. 提供角色判断功能点既优点缺点;四. 提供form-login、remember me等控制 其二、四两点于我发者(我外系统解)用性并我系统采用用户名/密码身份认证模式公司都复用代码form-login、remember me等些功能并难发且用处并缺点 我认Spring Security存几硬伤:一. 角色编码配置文件源文件终用户能创建角色终用户期望自控制角色项目实施程客户能并能确定哪些角色及角色配给系统用户角色需要等系统线才能确定些编码:a) url权限控制;b) java权限控制@Secured("IS_AUTHENTICATED_ANONYMOUSLY");c) java权限控制;二. RBCA种广泛运用模型没Spring Security体现;三. Spring Security没提供细粒度(数据级)权限案提供缺省实现维护工作量数据量情况几乎用;四. Spring Security于用户、角色、权限间关系没提供任何种维护界面Spring Security角度看确实没必要界面角色创建、角色权限直接关系都编码配置文件源文件;5. Spring Security习难度配置文件我承认高手我看新加入软件发领域付习代价获点点处觉并值 附言:本JavaEye创建权限管理圈快二周吸引少中国友进我高兴荣幸由于Spring Security运用范围比较广所我打算习习经验家

Ⅶ springsecurity 怎么跨越请求

是全部利用配置文件,将用户、权限、资源(url)硬编码在xml文件中,已经实现过,并经过验证;

二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证。

三种是细分角色和权限,并将用户、角色、权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,
并分别实现AccessDecisionManager、和UserDetailsService,并在配置文件中进行相应配置。
目前这种方式已经实现,并经过验证。

四是修改spring security的源代码,主要是修改和UserDetailsService两个类。
前者是将配置文件或数据库中

Ⅷ 如何学习spring security

首先把这个软件安装
然后可以报个班
也可以在网上找资料自学
最好是买一本书看
请采纳
谢谢

Ⅸ spring security 做的登录权限控制,页面上点击button请求查询一些数据。项目重启后,点击按钮仍可查询

使用spring Security3的四种方法概述
那么在Spring Security3的使用中,有4种方法:
一种是全部利用配置文件,将用户、权限、资源(url)硬编码在xml文件中,已经实现过,并经过验证;
二种是用户和权限用数据库存储,而资源(url)和权限的对应采用硬编码配置,目前这种方式已经实现,并经过验证。
三种是细分角色和权限,并将用户、角色、权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,
并分别实现AccessDecisionManager、和UserDetailsService,并在配置文件中进行相应配置。
目前这种方式已经实现,并经过验证。
四是修改spring security的源代码,主要是修改和UserDetailsService两个类。
前者是将配置文件或数据库中存储的资源(url)提取出来加工成为url和权限列表的Map供Security使用,后者提取用户名和权限组成一个完整的(UserDetails)User对象,该对象可以提供用户的详细信息供AuthentationManager进行认证与授权使用。
该方法理论上可行,但是比较暴力,也没有时间实现,未验证,以后再研究。
说明一下,我目前调通的环境为: java1.6 + struts2.1.6 + spring3.0.1 + hibernate3.3.1 + spring security3.0.2 + oracle9i + weblogic10.3,
顺便提一下,目前(2011-4-2)serutity的最新版本为3.1,比较稳定的版本为3.0.5和2.0.6。
当然在进行spring security3的下面4种方法介绍之前,先假定SSH2的环境已经配置完毕,进入正常开发的过程,并且已经导入
spring security3.0.2的5个jar包,分别为:
spring-security-acl-3.0.2.RELEASE.jar
spring-security-config-3.0.2.RELEASE.jar
spring-security-core-3.0.2.RELEASE.jar
spring-security-taglibs-3.0.2.RELEASE.jar
spring-security-web-3.0.2.RELEASE.jar
当然还有其他相关的jar包,在此不再赘述。

热点内容
如何查已有网络的密码 发布:2024-09-22 03:31:30 浏览:893
驱动forlinux 发布:2024-09-22 03:15:50 浏览:788
凌派车有哪些配置 发布:2024-09-22 03:15:00 浏览:748
压缩文件为什么打不开 发布:2024-09-22 03:09:13 浏览:645
我的世界缓存清理 发布:2024-09-22 03:09:10 浏览:644
斗地主癞子算法 发布:2024-09-22 03:08:09 浏览:119
解释与编译的区别 发布:2024-09-22 02:58:26 浏览:89
示教系统有哪些配置 发布:2024-09-22 02:47:13 浏览:261
速腾标配是什么配置 发布:2024-09-22 02:30:36 浏览:584
oracle数据库xe 发布:2024-09-22 02:12:45 浏览:444