- 浏览: 2142946 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (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 5509import java.io.ByteArrayOutpu ... -
isAssignableFrom & isInstance
2012-11-02 14:34 1183java.lang.Object extended by ja ... -
Struts 1.1 ExceptionHandler(转)
2012-11-02 10:20 1375转自:SSH项目中利用Exce ... -
X.509、数字签名、CA(Certificate Authority)、自签名证书、PKI
2012-10-18 14:22 6266X.509是由国际电联电信委员会(ITU-T)为单点登录(SS ... -
keytool、keystore、jarsigner、生成自签名证书
2012-10-18 10:27 7968Keytool是Java的密钥和数字证书管理工具,位于JDK_ ... -
Play framework Controllers控制器、action链式调用、返回的HTTP状态码
2012-09-20 10:36 3173Playframework中的控制器放在controllers ... -
Java 类初始化顺序
2012-08-21 14:07 1067class Parent { // 静态变量 pu ... -
java嵌套类、静态嵌套类、内部类
2012-08-21 10:29 2085官网文档:Nested Classes 什么是嵌套类及内部类 ... -
java静态类、静态方法、静态变量、实例变量、线程本地变量、静态线程本地变量
2012-08-21 10:24 1854静态类: 只有嵌套类才 ... -
ProcessBuilder 和 Runtime
2012-07-17 09:26 20855ProcessBuilder.start() 和 Runtim ... -
Play framework 1.2.3 使用缓存、Memcached集成
2012-07-13 09:25 3681play框架包含一个缓存lib,这个lib是用来和Memcac ... -
Play framework 1.2.3 Jobs定时任务、异步任务、引导任务、触发任务、关闭任务
2012-07-12 16:05 13357Play framework是一个web应 ... -
对称加密、PBE基于密码加密、PKCS
2012-07-05 11:07 7693对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信 ... -
(转)xml schema xsd 入门
2012-06-28 16:05 2436理解XML Schema: XML Schema 初步 (I) ... -
XmlRootElement JAXB注解
2012-06-28 15:23 39022@Retention(value=RUNTIME) @T ... -
jaxb xml数据绑定
2012-06-28 14:22 1303XML Schema编辑工具:XML Spy 常见的XML绑 ... -
(转)jpa 注解
2012-06-25 16:00 1296转自:jpa 注解 1.设置Po ... -
(转)JPA(Java Persistence API)简介
2012-06-25 14:20 1514转自JPA基础(一):全 ... -
Play 内置模板标签(1.2.3版本)
2012-06-18 14:03 4971Play framework 1.2.3 Built-in t ... -
play plugin插件 实现类似Servlet中的拦截器效果
2012-06-15 15:05 3619play plugin和module的区别见:play Mod ...
相关推荐
play2-auth, Play2.x 身份验证和授权模块 用于身份验证和授权的 Play2.x MODULE [Gitter](https://badges.gitter.im/Join chat 。svg )!这里 MODULE 为 Play2.x 应用程序提供身份验证和授权功能 Sc
deadbolt-2, Play Framework的授权模块 Deadbolt 2-- 播放 2的授权系统 锁是一种强大的授权机制,用于定义对某些控制器方法或者视图部分的访问权限。有关完整的指南,请参考闩锁网站。GitHub中的deadbolt-2 库是一...
本文档描述了关于cookie的http-only和secure的简介,和如何设置该属性,以及设置该属性会遇到的问题解决方法
PlayFramework框架验证.pdf
您仍然可以将现有的 Secure 模块与 Deadbolt 一起使用来提供身份验证,并且在身份验证是在您的应用程序之外处理的情况下,您可以将授权机制连接到使用的任何身份验证系统。特征使用AND 、 OR 和NOT组合定义访问在类...
PlayFramework框架安全模块.pdf
该项目是具有身份验证和授权功能的多模块播放应用程序的示例实现。 这附有一篇。 Play 被选为开发此应用程序的主要框架,因为它具有惊人的生态系统、插件和其他好处,例如 Akka、CoffeeScript 支持 Web Sockets 等等...
PlayFramework框架验证[参考].pdf
#Description 这是一个用于 Play 的 RESTfull 授权和认证库! Java 中的框架 2。 它面向 SPA(单页应用程序)和移动客户端。 授权部分复制 OAuth 2.0 流程。 #Requirements 至少玩 2.3.x #Installation ##...
Play-Utils 是一个专门为 Play Framework 开发的实用工具包模块
17.Play模块和模块仓库 - 115 - 什么是模块? - 115 - 如何从一个应用程序里加载模块 - 115 - 从模块加载默认的routes - 115 - 为模块增加文档说明 - 115 - 使用模块仓库 - 116 - 贡献新模块到模块仓库里 - 117 - ...
1-----资源内带强解bl锁工具和详细图文教程步骤 2-----资源内带相关驱动。请按步骤图文操作 3-----下载资源后请先看图文教程三遍熟悉后在操作 4-----资源真机实测多次。按图文教程操作百分百 5-----教程步骤列举...
当你安装好破解版Play商店后,基本就不用在乎你安装的软件是不是破解版了,对于那些需要连接Play商店验证许可证的软件,破解版的Play商店会直接返回一个正版许可证的验证信息,从此付费软件可以尽情使用。
4 PLAYSDK模块分解 6 5 功能描述 6 5.1 playsdk模块功能描述 6 5.1.1 Playsdk_api模块 6 5.1.2 playsdk_main模块 6 5.1.3 playsdk_decoder模块 7 5.1.4 playsdk_render模块 7 5.1.5 playsdk_record模块 7 5.1.6 play...
SUMMARYPlay for Java ...Secure and test your Play application ABOUT THE AUTHORSNicolas Leroux is a core developer of the Play framework. Sietse de Kaper develops and deploys Java-based Play applications.
2. 创建和发布 Play 应用 2.1 创建 Play 的工程 2.2 Play 常用指令 2.3 Play 应用的 JVM 调优 3. 如何读取静态资源 4. Play框架的配置文件 5. 使用 Play 框架开发 Java 应用 5.1 HTTP编程 5.1.1 什么是 Action...
RK3036是一款适用于OTT TV BOX和其他数字多媒体...蓝莓 TP3036 是基于 RK3036 的投屏模块, 支持miracast , dlna , airplay 协议, 低成本实现投屏功能, 适合集成到 显示器, 投影仪等产品中 作者:airplay-android
17.Play模块和模块仓库 - 115 - 什么是模块? - 115 - 如何从一个应用程序里加载模块 - 115 - 从模块加载默认的routes - 115 - 为模块增加文档说明 - 115 - 使用模块仓库 - 116 - 贡献新模块到模块仓库里 - 117 - ...
对play!的CRUD 进行改造,改代码还会持续重构,并不完善。 1.将create,show,delete,list都改成@Util方法,可以类似 public static void show(String id){ MyCRUD.show(id); } 的方式调用。更通用。 2.增加@...
Node.js Google Play验证程序(应用内购买和订阅) 或如何检查应用内购买/订阅是否有效? 教程 关于媒体的深入教程: 安装 使用npm安装 npm i google - play - billing - validator 用法(设置) 转到 设置(在...