<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 10, 文章 - 0, 評(píng)論 - 7, 引用 - 0
    數(shù)據(jù)加載中……

    Acegi使用2

    流程說(shuō)完了,接下對(duì)上面提到的問(wèn)題解釋一下:

    引用

    先使用URL攔截的方式去對(duì)付大多數(shù)的情況,然后少數(shù)URL搞不定的再加一個(gè)接口,讓Action自己去判別。這樣用兩個(gè)攔截器對(duì)Action進(jìn)行攔截,如果Action實(shí)現(xiàn)了hasPermission接口,那么就交給Action自己判斷,如果Action沒(méi)有該接口,就查找內(nèi)部的URL和權(quán)限的對(duì)照表來(lái)判斷。

     

    這個(gè)情況比較復(fù)雜,因?yàn)槭且獙?duì)Action進(jìn)行調(diào)用,所以要看使用的web框架來(lái)定奪。是用不同Web框架要是用不同的Web框架攔截器。所以恐怕acegi力不從心,挺多在filter里面配置一下是否要是用Action自身校驗(yàn)。但是想法很好,贊。

     

    引用

    你怎么把信息有效的傳遞給Web層和其他的Facade層進(jìn)行用戶友好性的提示處理?

     

    acegi校驗(yàn)失敗的時(shí)候會(huì)拋出AuthenticationException異常,然后放在session里面,
    在錯(cuò)誤轉(zhuǎn)向頁(yè)面可以這樣是用

    代碼
    <%= ((AuthenticationException) session.getAttribute(AbstractProcessingFilter.ACEGI_SECURITY_LAST_EXCEPTION_KEY)).getMessage() %>    
    <%= session.getAttribute(AuthenticationProcessingFilter.ACEGI_SECURITY_LAST_USERNAME_KEY) %>    
    <%= session.getAttribute(SecurityEnforcementFilter.ACEGI_SECURITY_ACCESS_DENIED_EXCEPTION_KEY) %> 

    不過(guò)這么用實(shí)在太難看了,暈了。可以自己用tag來(lái)搞定

     

     

    引用

    很多系統(tǒng)需要根據(jù)權(quán)限不同,生成不同的UI組件(例如管理員的菜單和普通用戶菜單就肯定不一樣),這也需要在Web層的View進(jìn)行控制。

    acegi對(duì)View的處理就是使用tag,原來(lái)的acegi好像沒(méi)有什么tag,簡(jiǎn)直是爛,現(xiàn)在有了tag,說(shuō)一下是用的方法,但是說(shuō)實(shí)話他的tag實(shí)在是不夠強(qiáng)。

     

    老版的web.xml

    代碼
    1<taglib>   
    2  <taglib-uri>http://acegisecurity.sf.net/authz</taglib-uri>   
    3  <taglib-location>/WEB-INF/authz.tld</taglib-location>   
    4</taglib>  

    在頁(yè)面中使用
    代碼
    1<authz:authorize ifAllGranted="ROLE_SUPERVISOR">   
    2<td>   
    3<HREF="del.htm?id=<c:out value="/${contact.id}"/>">Del</A>   
    4</td>   
    5</authz:authorize>  

    ifAllGranted是說(shuō)所有的權(quán)限都有,用','分割權(quán)限
    可以替換成ifAnyGranted: ifNotGranted:

     

     

    代碼
    1<authz:authentication operation="username"/>   

     

    這個(gè)是用來(lái)顯示你的權(quán)限信息的。

     

    代碼
    1<authz:acl domainObject="${contact}" hasPermission="16,1">   
    2<td><HREF="<c:url value="del.htm"><c:param name="contactId"   
    3value="${contact.id}"/></c:url>">Del</A></td>   
    4</authz:acl>  

    posted on 2007-05-20 12:42 LiuTing 閱讀(498) 評(píng)論(0)  編輯  收藏 所屬分類: 身份認(rèn)證管理


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲日韩看片无码电影| 三年片免费高清版| 亚洲国产成人久久一区WWW| 日韩免费视频一区二区| 亚洲综合色7777情网站777| 免费大黄网站在线观看| 三年片在线观看免费大全电影| 亚洲宅男精品一区在线观看| 亚洲高清无码综合性爱视频| 18禁止看的免费污网站| 美女隐私免费视频看| 中文字幕亚洲免费无线观看日本| 情侣视频精品免费的国产| 无码国产精品一区二区免费模式 | 国产亚洲视频在线观看| 亚洲av无码一区二区乱子伦as| 18禁成年无码免费网站无遮挡| 高清永久免费观看| 亚洲av永久中文无码精品综合| 久热综合在线亚洲精品| 亚洲AV无码专区日韩| 免费一本色道久久一区| 国产免费无码一区二区| 美女被爆羞羞网站在免费观看| 亚洲成a人片在线观看中文!!!| 国产亚洲成人久久| 日本免费一区尤物| 国产精品成人观看视频免费 | 无码免费又爽又高潮喷水的视频| 亚洲综合激情六月婷婷在线观看 | 少妇太爽了在线观看免费视频| 国产精品亚洲а∨无码播放不卡| 亚洲国产成人手机在线电影bd| 亚洲综合精品网站| 国产成人免费全部网站| 免费电影在线观看网站| 91久久青青草原线免费| 国产真人无码作爱免费视频| 亚洲综合图片小说区热久久| 久久精品国产亚洲7777| 四虎免费永久在线播放|