安徽新华电脑专修学院_安徽电脑培训_安徽电脑培训学校_合肥电脑培训

當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > acegi參考手冊(v1.0.4)[譯]-第四章 信道安全

acegi參考手冊(v1.0.4)[譯]-第四章 信道安全
2010-01-13 23:24:08  作者:  來源:

第四章. 信道安全

4.1. 概述

Acegi Security不僅能滿足你的認(rèn)證和授權(quán)的請求,而且能夠保證你的未認(rèn)證的web請求也能擁有某些屬性。這些屬性可能包括使用特定的傳輸類型,在HttpSession設(shè)置特定的屬性等等。Web請求的最普遍的需求是使用特定的傳輸協(xié)議,例如HTTPS。

在傳輸安全中的一個(gè)重要議題就是會話劫持(session hijacking)。Web容器通過一個(gè)jsessionid來引用一個(gè)HttpSession,這個(gè)jsessionid通過cookie 或者URL重寫轉(zhuǎn)向(URL rewriting)發(fā)送到到客戶端。如果jsessionid是通過HTTP發(fā)送的,那么就存在被劫持以及在認(rèn)證過程之后冒充被認(rèn)證用戶的可能。這是因 為大部分的web容器為特定的用戶維護(hù)同一個(gè)會話標(biāo)識符,即便是用戶從HTTP 切換到 HTTPS頁面。

如果對于你的特定應(yīng)用來說,會話劫持(session hijacking)是一個(gè)很嚴(yán)重的風(fēng)險(xiǎn),那么唯一的解決方法就是對每一個(gè)請求都使用HTTPS。這意味著jsessionid不會使用非安全信道傳輸。 你要保證你的web.xml中定義,把它指向一個(gè)HTTPS位置,同時(shí)應(yīng)用程序不把用戶指向一個(gè)HTTP位置。 Acegi Security提供一個(gè)解決方案幫助你實(shí)現(xiàn)后者。

4.2. 配置

啟用Acegi Security的信道安全服務(wù),需要在web.xml中增加如下行:

xml 代碼
 
  1. <filter>  
  2.     <filter-name>Acegi Channel Processing Filter</filter-name>  
  3.     <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>  
  4.     <init-param>  
  5.         <param-name>targetClass</param-name>  
  6.         <param-value>org.acegisecurity.securechannel.ChannelProcessingFilter</param-value>  
  7.     </init-param>  
  8. </filter><filter-mapping>  
  9.     <filter-name>Acegi Channel Processing Filter</filter-name>  
  10.     <url-pattern>/*</url-pattern>  
  11. </filter-mapping>  

和平時(shí)一樣,你同樣需要在application context中配置filter

java 代碼
 
  1. <bean id="channelProcessingFilter" class="org.acegisecurity.securechannel.ChannelProcessingFilter">  
  2.     <property name="channelDecisionManager"><ref bean="channelDecisionManager"/></property>  
  3.     <property name="filterInvocationDefinitionSource">  
  4.         <value>  
  5.             CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON  
  6.             \A/secure/.*\Z=REQUIRES_SECURE_CHANNEL  
  7.             \A/acegilogin.jsp.*\Z=REQUIRES_SECURE_CHANNEL  
  8.             \A/j_acegi_security_check.*\Z=REQUIRES_SECURE_CHANNEL  
  9.             \A.*\Z=REQUIRES_INSECURE_CHANNEL  
  10.         </value>  
  11.     </property>  
  12. </bean>  
  13.   
  14. <bean id="channelDecisionManager" class="org.acegisecurity.securechannel.ChannelDecisionManagerImpl">  
  15.     <property name="channelProcessors">  
  16.         <list>  
  17.             <ref bean="secureChannelProcessor"/>  
  18.         <ref bean="insecureChannelProcessor"/>  
  19.     </list>  
  20.     </property>  
  21. </bean>  
  22.   
  23. <bean id="secureChannelProcessor" class="org.acegisecurity.securechannel.SecureChannelProcessor"/>  
  24.   
  25. <bean id="insecureChannelProcessor" class="org.acegisecurity.securechannel.InsecureChannelProcessor"/>  

ChannelProcessingFilter和FilterSecurityInterceptor一樣支持Apache Ant style paths。

ChannelProcessingFilter的工作方式是過濾所有的web請求,并將判斷將適合的配置屬性應(yīng)用于其上。然后它代理到 ChannelDecisionManager。默認(rèn)的實(shí)現(xiàn)類ChannelDecisionManagerImpl應(yīng)該能夠滿足大多數(shù)需求。它就代理到 配置好的ChannelProcessor實(shí)例列表。ChannelProcessor會檢視請求,如果它不滿意請求(例如請求是發(fā)送自不正確的傳輸協(xié) 議)它將會重定向,拋出異;蛘卟扇∑渌魏吻‘(dāng)?shù)拇胧?/p>

Acegi Security 包括ChannelProcessor兩個(gè)實(shí)體類實(shí)現(xiàn):SecureChannelProcessor 保證配置了REQUIRES_SECURE_CHANNEL 屬性的請求都是從HTTPS發(fā)送過來的。而InsecureChannelProcessor 保證配置了REQUIRES_INSECURE_CHANNEL 屬性的請求都是從HTTP發(fā)送過來的。如果沒有使用請求的協(xié)議,這兩個(gè)實(shí)現(xiàn)都會轉(zhuǎn)到ChannelEntryPoint,而兩個(gè) ChannelEntryPoint 實(shí)現(xiàn)所作的就是簡單的把請求相應(yīng)按照HTTP 和 HTTPS重定向。

要注意重定向是絕對(例如http://www.company.com:8080/app/page) 而不是相對的(例如 /app/page)。在測試中發(fā)現(xiàn)Internet Explorer 6 Service Pack 1 有一個(gè)bug,因此如果在重定向的時(shí)候也改變使用的端口,它就不能正確響應(yīng)。對應(yīng)這個(gè)bug,在很多Acegi Security bean中都會使用的PortResolverImpl也使用絕對URL。請參閱PortResolverImpl的JavaDoc以獲取更多信息。

你要注意使用為了在登錄過程中保證用戶名和密碼的安全,要使用安全信道。如果你配合基于表單的登錄使用 ChannelProcessingFilter,請記得一定要把你的登錄頁面設(shè)置為REQUIRES_SECURE_CHANNEL,并且 AuthenticationProcessingFilterEntryPoint.forceHttps屬性設(shè)置為true。

4.3. 結(jié)論

一旦配置好了,使用安全信道是非常簡單的。只要請求頁面,不用管使用什么協(xié)議(HTTP 或 HTTPS)或什么端口(80, 8080, 443, 8443等)。顯然你只要確定初始請求(獲取通過在web.xml 中的 或一個(gè)眾所周知的主頁URL),完成以后filter會執(zhí)行你application context定義的重定向。

你也可以在ChannelDecisionManagerImpl中增加自己的ChannelProcessor實(shí)現(xiàn)。例如,你可能通過"輸入圖片中的內(nèi)容"檢測到一個(gè)個(gè)人類用戶,然后在HttpSession中設(shè)置一個(gè)屬性。

要判斷一個(gè)安全檢查應(yīng)該是或者ChannelProcessor或是 AccessDecisionVoter 記得前者是設(shè)計(jì)用來處理認(rèn)證或者未認(rèn)證的請求,而后者是設(shè)計(jì)用來處理已認(rèn)證的請求。因此后者可以訪問已認(rèn)證的principal被授予的權(quán)限。

另外,ChannelProcessor檢測到問題后一般是引發(fā)一個(gè)HTTP/HTTPS重定向這樣他的請求可以被滿足,而 AccessDecisionVoter將則會跑出一個(gè)AccessDeniedException異常(取決于支配的 AccessDecisionManager)。


安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 上海山田机械有限公司| 无线对讲机系统-中继台-山区隧道信号覆盖-贝亚特 | 净化塔_喷淋塔_脱硫塔_河北宝飞华创玻璃钢制造有限公司-河北宝飞华创玻璃钢制造有限公司 | 青州东威机械有限公司,洗沙机,脱水筛、细沙回收机,淘金设备,洗石机,砂石分离机,筛沙机,采沙船,清淤船,破碎制砂机,海沙淡化设备 | 深圳市福田区建筑装饰设计协会| 锦州龙威机械有限公司官网 ,锦州医药包装机,包装机,锦州包装机械,小袋颗粒装盒生产线,颗粒装盒生产线,软双铝装盒线,伺服颗粒 | 清尼龙滤膜-清洁度检测设备-清洁度分析仪-清洁度萃取机-优昂(百科) | 轻型防化服|重型防化服|全封闭防化服|济南三安安全防护设备有限公司 | 世界酒店网|世界酒店论坛|世界酒店联盟大会 | 龙淼环保-旋流-喷淋塔,高温布袋,脉冲布袋-单机-滤筒除尘器,活性炭吸附箱,催化燃烧设备,除尘器配件-沧州龙淼环保设备制造有限公司 | 山西档案架,智能档案密集架,手摇密集架,山西密集架厂家批发/报价 | 一体化净水器-一体化净水设备-集成式|装配式模块化净水设备-山东奕博环境 | 指挥调度|调度系统|应急指挥调度|应急指挥|可视化调度|多媒体指挥调度|融合通信|综合调度|应急指挥系统|IP调度系统-北京瑞光极远数码科技有限公司 | 通用变频器|国产变频器|深圳变频器厂家-深圳市英捷思技术有限公司 | 芜湖禾风机械设备有限公司[官网] | 中式婚礼_汉服婚礼_传统婚礼_婚庆公司_云歌婚礼策划【官网】 | 宁波雷豹机电科技有限公司|雷豹冷风机|雷豹工业大风扇|MFC18000|MFC16000|MFC6000|EF3622|EF4222|EF4822|移动工业蒸发式冷风机空气冷却器|大型工业空调扇|雷豹移动式工业大风扇|雷豹大风扇|生产厂家|公司官网 | ?神龙上古堂全国官网_颈腰椎调理服务中心_萨迦藏式秘方渗透法 | 康拓威技术(深圳)有限公司|Theia镜头代理商|安讯士AXIS摄像机|安讯士监控系统|博世BOSCH监控|博世会议系统|索尼SONY监控|松下PANASONIC监控|三星韩华SAMSUNG监控|霍尼韦尔Honeywell|海康|大华|华为监控|Theia无畸变镜头|AXIS监控|安讯视摄像机 | 欧美日韩人妻精品一区二区三区_欧美成人精品欧美一级乱黄_亚洲欧美日韩高清一区二区三区_国产一级做a爰片久久毛片_日韩一级视频在线观看播放_精品一区二区三区免费毛片爱_完整观看高清秒播国内外精品资源 | 生物除臭塔_生物除臭箱_玻璃钢吸收塔_玻璃钢集气罩_-安丘恒业玻璃钢有限公司 | 粮食烘干机|玉米烘干机|稻谷烘干机|小麦烘干机|大型连续烘干塔|500吨连续烘干塔|钢板仓|-郑州新光矿山机械制造有限公司 | 辣椒烘干机-百信机械提供大中小型辣椒烘干机房设备视频图片厂家价格多少钱 | 新密耐火材料厂家价格-河南郑州荣盛窑炉耐火材料有限公司 | 长春互联网运营值选星广传媒,长春短视频运营,长春新媒体运营,长春互联网运营,长春抖音运营,吉林视频号代运营,吉林快手代运营,短视频推广公司,公众号运营,微博运营,新媒体运营 | 无锡鑫润杰金属科技有限公司 | 萘系减水剂|缓凝|早强|聚羧酸|混凝土|石膏板|管桩减水剂厂家-潍坊英宏建材有限公司 | 三原图库 - 设计图片素材打包下载sytuku.com | 济宁卡尔迪机械制造有限公司_铁路换枕机_升降驾驶室_挖机加高底盘_加长臂 | 校园防欺凌|视频一键式报警器|防霸凌报警柱|停车场语音对讲|商铺联网报警|应急广播音柱|居家养老一键通|盾王可视联网运营中心 | 螺旋钢管厂家,临沂瑞源工贸有限公司 | 植绒布工厂,植绒布现货批发-深圳市金峰盛植绒制品有限公司 | 绿化工程-绿化养护-园林设计-东莞市泉桦园林绿化有限公司 | 维启科技-创造科技的无限可能 | 上海维启信息技术有限公司 建筑仿真 BIM 虚拟现实 VR AR 顶岗实习 建筑智能模型 | 上海机械加工-机械加工-精密机械加工-上海欧野精工机械有限公司 上海慧泰仪器制造有限公司_一体型马弗炉-可控真空干燥箱-强光稳定性试验箱 | 小程序开发,网站建设,APP开发,商城系统开发,社区团购系统开发,区块链溯源,互联网资质办理-软多信息技术有限公司_河南软多信息技术有限公司 | 兰州钢结构,甘肃铝镁锰板工程,青海岩棉复合板厂家,宁夏岩棉彩钢板公司,西宁彩钢夹芯板-兰州腾达彩钢 | 深圳市佳顺优印印刷有限公司,佳顺优印,画册印刷,海报印刷,封套印刷,手提袋印刷,包装盒印刷,彩盒印刷,无碳纸印刷,不干胶印刷,信封印刷,便笺印刷,笔记本印刷,台历印刷,挂历印刷,国际会展中心附近印刷厂,宝安印刷厂,宝安教材印刷厂 | 济宁市天众机械有限公司_机械加工,电力产品,冶金产品,造纸机械 | 河南康振机械有限公司 | 四方光电(武汉)仪器有限公司_四方仪器首页-烟气分析仪|尾气分析仪|煤气分析仪|沼气分析仪|天然气分析仪|超声波流量计|在线气体分析系统|红外气体传感器 |