當前位置:首頁 » 操作系統 » 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 01:10:48 瀏覽:887
沒有u盤怎麼引導安卓iso鏡像 發布:2024-09-22 01:09:41 瀏覽:747
安卓怎麼變成10系統 發布:2024-09-22 01:05:29 瀏覽:153
繪本解壓 發布:2024-09-22 01:04:04 瀏覽:806
為什麼電腦我的世界進不了伺服器 發布:2024-09-22 01:02:17 瀏覽:698
為什麼緩存不了柯南 發布:2024-09-22 01:01:34 瀏覽:819
蘋果手機怎麼修改無線網密碼 發布:2024-09-22 01:01:34 瀏覽:463
伺服器過熱會有什麼影響 發布:2024-09-22 00:40:32 瀏覽:907
sql2005安全 發布:2024-09-22 00:40:31 瀏覽:211
寬頻的密碼去哪裡看 發布:2024-09-22 00:39:08 瀏覽:647