servlet集成了clojure / ring中的安全性?

时间:2012-12-18 14:44:26

标签: clojure ring

我一直在寻找一种很好的方法来利用环网应用程序中现有servlet容器的集成安全性。看起来人们试图用他们自己的环中间件重新发明轮子来处理身份验证/授权。

我希望看到像环中间件暴露领域配置和一些安全约束的东西。类似的东西:

(def web-appp 
  (wrap-security-constraints [{:transport :confidential}] ; require SSL
    (wrap-security-auth [{:pattern "/*" 
                          :type "form"
                          :ext-form-url "/login" 
                          :realm "users-realm"}]
       app-handler)))

然后是一个宏来包装允许限制某个角色的处理程序

(defroutes app-handler
  (GET "/admin" [] 
     (wrap-allowed-roles ["admin-role"]
       (controllers/do-admin)))
  ;... and so on ...

在这里考虑lein-ring扩展。

那里有这样的东西吗?谷歌搜索没有帮助

1 个答案:

答案 0 :(得分:0)

基本身份验证有ring-basic-authentication。在servlet上下文中,您始终可以回退到servlet引擎的身份验证和授权处理。为此,您可以使用leiningen-war创建Web存档,并在web.xml中声明安全性约束。