flu*_*xon 5 security grails basic-authentication .htpasswd
我正在向公共领域的一些同事展示一个grails应用程序.到目前为止,我正在开发模式,并没有通过战争部署.
我需要确保应用程序安全,以防止他们查看/播放它.我已经有一个用户mgmt,但在sb看到任何我希望有.htpasswd之类的保护之前.如果可能的话,我不想用插件扩展应用程序本身(例如,shiro).
有什么想法/建议?
非常感谢!
您可以使用HTTP身份验证.HTTP身份验证很难实现,但它不是非常安全或可用.你最好使用shiro或spring-security来获得真正的解决方案.也就是说,一个简单的过滤器可以检查HTTP Authorization标头并返回401状态代码(如果不存在).这将强制浏览器弹出用户名/密码框,并使用标头中编码的用户名和密码重新提交表单.
Grails过滤器必须具有以"Filters"结尾的类名,并进入grails-app/conf目录.这是一个例子:
class SimpleAuthFilters {
def USERNAME = "foo"
def PASSWORD = "bar"
static filters = {
httpAuth(uri:"/**") {
before = {
def authHeader = request.getHeader('Authorization')
if (authHeader) {
def usernamePassword = new String(authHeader.split(' ')[1].decodeBase64())
if (usernamePassword == "$USERNAME:$PASSWORD") {
return true
}
}
response.setHeader('WWW-Authenticate', 'basic realm="myRealm"')
response.sendError(response.SC_UNAUTHORIZED)
return false
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1459 次 |
最近记录: |