- 浏览: 2175045 次
- 性别:
- 来自: 合肥
-
文章分类
- 全部博客 (401)
- Agile (16)
- Apache Commons (3)
- Architecture (8)
- DB.MongoDB (5)
- DB.Mysql (3)
- DB.Oracle (34)
- DirectoryService (1)
- DotNet (1)
- English (3)
- Groovy (0)
- Html (28)
- Java (67)
- Java.Aixs (7)
- Java.Cache (2)
- Java.jPBM (1)
- Java.Resin (6)
- Java.Spring (4)
- Java.Struts2 (5)
- Java.Tomcat (16)
- Javascript (45)
- Javascript.Google Map (2)
- Javascript.Jquery (8)
- Life (15)
- Maven&Ant (4)
- Network (5)
- OS.Linux (45)
- OS.Windows (10)
- OS.Windows.Office (1)
- PlayFramework (15)
- Python (28)
- Reading notes (11)
- Security (13)
- Server.Apache (3)
- Server.Nginx (7)
- Test (6)
- Tool (15)
- Work.Solution (15)
- Other (20)
- SSO&CAS&Identity (13)
最新评论
-
hutuxiansheng123:
防火墙、Iptables、netfilter/iptables、NAT 概述 -
dacoolbaby:
非常棒的正则表达式,非常适用。万分感谢。
用python分析nginx的access日志 -
loot00:
您好! 我也遇到了相同的错误信息。我是用f_link_lob ...
LOB variable no longer valid after subsequent fetch -
feihangchen:
@OnApplicationStop public clas ...
Play framework 1.2.3 Jobs定时任务、异步任务、引导任务、触发任务、关闭任务 -
洞渊龙王:
谢谢了
www.w3.org被qiang导致logback报错:Connect reset
参考:http://www.playframework.org/documentation/1.2.3/secure
Play Secure模块放置在play安装目录\modules\secure下,包含在play标准的发布包中。简单的Secure模块被设计用来帮助用户在应用程序中提供验证和授权管理。它提供了一个简单的控制器controllers.Secure,在里面定义了一些拦截器,你能很容易地使用@With注解把这些拦截器加到自己的控制器中。
启用Secure模块:
在/conf/dependencies.yml文件中增加如下内容:
导入Secure模块的默认路由:
导入Secure模块的默认路由并不是必须的,用户可以定义自己的路由,也可以混合2者一起使用。
在conf/routes中通过如下命令导入默认的模块路由:
这里被导入的路由内容如下:
使用拦截器保护controller:
如下使用@With注解来保护控制器(必须验证通过才能使用该控制器)
自定义验证方法:
默认情况下,登陆页面接受所有的用户名和密码。为了给应用程序增加安全保护,只需要按如下步骤定制下它。
访问验证通过的用户:
使用Security.connected方法来取得验证通过的用户
增加授权检查 check注解:
可以使用@check注解来告诉Secure模块,检查当前连接的用户是否有操作控制器、或者其中的方法的权限。
默认情况下,secure模块会一直检查所有checks,你可以通过在自己的Security类中重写方法来修改默认行为。
Play Secure模块放置在play安装目录\modules\secure下,包含在play标准的发布包中。简单的Secure模块被设计用来帮助用户在应用程序中提供验证和授权管理。它提供了一个简单的控制器controllers.Secure,在里面定义了一些拦截器,你能很容易地使用@With注解把这些拦截器加到自己的控制器中。
启用Secure模块:
在/conf/dependencies.yml文件中增加如下内容:
require: - play -> secure
导入Secure模块的默认路由:
导入Secure模块的默认路由并不是必须的,用户可以定义自己的路由,也可以混合2者一起使用。
在conf/routes中通过如下命令导入默认的模块路由:
# Import Secure routes * / module:secure
这里被导入的路由内容如下:
# import these default routes as : # * / module:secure # ~~~~ GET /login Secure.login POST /login Secure.authenticate GET /logout Secure.logout
使用拦截器保护controller:
如下使用@With注解来保护控制器(必须验证通过才能使用该控制器)
@With(Secure.class) public class Application extends Controller { public static void index() { render(); } }
自定义验证方法:
默认情况下,登陆页面接受所有的用户名和密码。为了给应用程序增加安全保护,只需要按如下步骤定制下它。
- 在controllers包下创建一个继承自controllers.Secure.Security的方法
- 重写authenticate(String username, String password)方法
- 也可以重写其他方法,如onAuthenticated, onDisconnected来修改应用程序行为
package controllers; public class Security extends Secure.Security { static boolean authenticate(String username, String password) { User user = User.find("byEmail", username).first(); return user != null && user.password.equals(password); } }
访问验证通过的用户:
使用Security.connected方法来取得验证通过的用户
@With(Secure.class) public class Application extends Controller { public static void index() { String user = Security.connected(); render(user); } }
增加授权检查 check注解:
可以使用@check注解来告诉Secure模块,检查当前连接的用户是否有操作控制器、或者其中的方法的权限。
@With(Secure.class) public class Application extends Controller { … @Check("isAdmin") public static void delete(Long id) { … } }
默认情况下,secure模块会一直检查所有checks,你可以通过在自己的Security类中重写方法来修改默认行为。
package controllers; public class Security extends Secure.Security { … static boolean check(String profile) { User user = User.find("byEmail", connected()).first(); if ("isAdmin".equals(profile)) { return user.admin; } else { return false; } } }
发表评论
-
xml 字符串和xml Document相互转换、xml Document内容输出到http response
2012-11-05 10:07 5615import java.io.ByteArrayOutpu ... -
isAssignableFrom & isInstance
2012-11-02 14:34 1262java.lang.Object extended by ja ... -
Struts 1.1 ExceptionHandler(转)
2012-11-02 10:20 1488转自:SSH项目中利用Exce ... -
X.509、数字签名、CA(Certificate Authority)、自签名证书、PKI
2012-10-18 14:22 6367X.509是由国际电联电信委员会(ITU-T)为单点登录(SS ... -
keytool、keystore、jarsigner、生成自签名证书
2012-10-18 10:27 8133Keytool是Java的密钥和数字证书管理工具,位于JDK_ ... -
Play framework Controllers控制器、action链式调用、返回的HTTP状态码
2012-09-20 10:36 3253Playframework中的控制器放在controllers ... -
Java 类初始化顺序
2012-08-21 14:07 1138class Parent { // 静态变量 pu ... -
java嵌套类、静态嵌套类、内部类
2012-08-21 10:29 2141官网文档:Nested Classes 什么是嵌套类及内部类 ... -
java静态类、静态方法、静态变量、实例变量、线程本地变量、静态线程本地变量
2012-08-21 10:24 1916静态类: 只有嵌套类才 ... -
ProcessBuilder 和 Runtime
2012-07-17 09:26 21019ProcessBuilder.start() 和 Runtim ... -
Play framework 1.2.3 使用缓存、Memcached集成
2012-07-13 09:25 3735play框架包含一个缓存lib,这个lib是用来和Memcac ... -
Play framework 1.2.3 Jobs定时任务、异步任务、引导任务、触发任务、关闭任务
2012-07-12 16:05 13529Play framework是一个web应 ... -
对称加密、PBE基于密码加密、PKCS
2012-07-05 11:07 7898对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信 ... -
(转)xml schema xsd 入门
2012-06-28 16:05 2504理解XML Schema: XML Schema 初步 (I) ... -
XmlRootElement JAXB注解
2012-06-28 15:23 39125@Retention(value=RUNTIME) @T ... -
jaxb xml数据绑定
2012-06-28 14:22 1358XML Schema编辑工具:XML Spy 常见的XML绑 ... -
(转)jpa 注解
2012-06-25 16:00 1377转自:jpa 注解 1.设置Po ... -
(转)JPA(Java Persistence API)简介
2012-06-25 14:20 1588转自JPA基础(一):全 ... -
Play 内置模板标签(1.2.3版本)
2012-06-18 14:03 5055Play framework 1.2.3 Built-in t ... -
play plugin插件 实现类似Servlet中的拦截器效果
2012-06-15 15:05 3693play plugin和module的区别见:play Mod ...
相关推荐
在Play Framework中,安全模块是一个重要的组件,它帮助开发者实现基本的认证(Authentication)和授权(Authorization)功能,确保应用的安全性。 安全模块Secure module 提供了一个基础的控制器`controllers....
您仍然可以将现有的 Secure 模块与 Deadbolt 一起使用来提供身份验证,并且在身份验证是在您的应用程序之外处理的情况下,您可以将授权机制连接到使用的任何身份验证系统。特征使用AND 、 OR 和NOT组合定义访问在类...
3. **引导和安全功能**:UEFI具备启动操作系统的能力,以及提供对启动过程的安全控制,例如支持安全启动(Secure Boot)功能来确保仅允许加载经过验证的操作系统和软件。 4. **驱动模型**:UEFI使用类似于操作系统...
# ro.adb.secure=1 PRODUCT_PROPERTY_OVERRIDES += \ ro.sf.lcd_density=213 \ ro.product.firmware=v2.0 $(call inherit-product-if-exists, device/softwinner/astar-y3/modules/modules.mk) DEVICE_PACKAGE_...
# ro.adb.secure=1 PRODUCT_PROPERTY_OVERRIDES += \ ro.sf.lcd_density=213 \ ro.product.firmware=v2.0 $(call inherit-product-if-exists, device/softwinner/astar-y3/modules/modules.mk) DEVICE_PACKAGE_...