4
我給用戶提供了具有訪問密鑰的特殊URL。通過這個特殊的URL訪問公共頁面的用戶應該能夠看到一些額外的數據,而不是簡單的匿名用戶。Acegi安全:我如何添加另一個授權給匿名用戶的身份驗證
我想給基於請求中提供的參數匿名用戶一些額外的角色,所以我可以在我的模板做這樣的事情:
<@sec.authorize ifAnyGranted="ROLE_ADMIN, ROLE_USER, ROLE_INVITED_VISITOR">
...some additional stuff for invited user to see
</@sec.authorize>
目前
我執行Spring的OncePerRequestfilter
:
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws ServletException, IOException {
if (null != request.getParameter("accessKey")) {
if(isValid(request.getParameter("accessKey"))) {
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
//how do i add additional roles to authenticated (potentially anonymous) user?
}
}
}
不錯的一個!我自己用附加角色創建了一個新的AnonymousAuthenticationToken來解決這個問題,但這更加優雅。謝謝 – miceuz 2008-11-12 15:45:19