- 浏览: 14615 次
- 性别:
- 来自: 北京
最新评论
文章列表
数据绑定WXML 中的动态数据均来自对应 Page 的 data。
1、简单绑定数据绑定使用 Mustache 语法(双大括号)将变量包起来,可以作用于:1.1内容
<view> {{ message }} </view>
Page({
data: {
message: 'Hello MINA!'
}
})
1.2 组件属性(需要在双引号之内)
<view id="item-{{id}}"> </view>
Page({
data: {
id: 0
}
})
...
小程序目录结构
小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。
一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:
文件 必填 作用
app.js 是 小程序逻辑
app.json 是 ...
前面两节内容介绍了Shiro中是如何进行身份和权限的认证,但是只是单纯的进行Shiro的验证,简单一点的话,用的是.ini配置文件,也举了个使用jdbc realm的例子,这篇主要来总结一下Shiro是如何集成web的,即如何用在web工程中。
本文没有使用web框架,比如springmvc或者struts2,用的是原始的servlet,使用的是.ini配置文件,旨在简单粗暴,说明问题。
下面来总结一下Shiro集成web的步骤。
1. 配置
1.1 web.xml配置
Shiro如果想要集成到web中,首先需要在web.xml中配置Shiro的监听器和过滤器,如下:
& ...
之前写的博客里都是使用.ini文件来获取信息的,包括用户信息,角色信息,权限信息等。进入系统时,都是从.ini文件这读取进入的。实际中除非这个系统特别特别简单,否则一般都不是这样干的,这些信息都是需要在数据库中进行维护的,所以就需要用到自定义realm了。
1. 数据库建表
首先在数据库中新建三个表:t_user,t_role和t_permission,分别存储用户信息,角色信息和权限信息,建表语句如下:
CREATE TABLE `t_role` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`rolenam ...
上一篇博文总结了一下Shiro中的身份认证,本文主要来总结一下Shiro中的权限认证(Authorization)功能,即授权。如下:
1. 权限认证的核心要素
权限认证,也就是访问控制,即在应用中控制谁能访问哪些资源。在权限认证中 ...
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可为任何应用提供安全保障。本文主要介绍一下Shiro中的身份认证功能,如下:
本文参考自Apache Shiro的官方文档:http://shiro.apache.org/authentication.html
1. 认证主体(Authenticating Subjects)
Subject 认证主体包含两个信息:
Principals:身份。可以是用户名,邮件,手机号码等等,用来标识一个登录主体身份; Credentials:凭证。常见有密码,数字证书等等。
在Shiro中 ...
其实Shiro整合到Spring中并没有想象的那么困难,整到Spring中后,我们自定义的realm啊、securityManager啊等等都会交给spring去管理了,包括我们需要指定哪些url需要做什么样的验证,都是交给spring,也就是说,完全可以摆脱原来的那个.ini配置文件了,会觉得非常清爽,非常有逻辑。好了,下面开始整,Shiro部分参考了它的官方文档:http://shiro.apache.org/spring.html
配置文件
首先来完成一些配置文件,先从pom.xml开始,我已经用注释将它们归归类了,很清晰。
1.1 pom.xml
<project ...
Web集成
大多数情况,web项目都会集成spring。shiro在普通web项目和spring项目中的配置是不一样的。
本次介绍普通的web项目,不使用任何框架。
shiro配置文件(shiro.ini)
创建web项目,然后在src下创建shiro.ini
[main]
#默认的登录界面是/login.jsp
authc.loginUrl=/login.jsp
roles.unauthorizedUrl=/unauthorized
perms.unauthorizedUrl=/unauthorized
authcBasic.applicationName=pl ...
ini 配置文件
ini配置文件其实和properties配置文件一样的使用方法,都是键值对的形式(key=value),#号代表注释
ini配置中主要配置有四大类:main,users,roles,urls
[main]
#提供了对根对象 securityManager 及其依赖的配置
securityMan ...
什么是授权?
授权,就是访问控制,控制某个用户在应用程序中是否有权限做某件事.
授权三要素:
权限、角色、用户
3.Shiro的三种授权方式
3.1 编码方式授权
package com.shiro.realm;
import java.util.HashSet;
import java.util.Set;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shi ...
为什么要用Realm
在上篇文章中我们将身份信息(用户名/密码/角色/权限)写在配置文件中,但是实际开发中,这些身份信息应该保存在数据中,因此我们需要自定义Realm来从数据中获取身份信息,进行验证。
自定义Realm
定义一个MyRealm,继承AuthorizingRealm
package com.shiro.realm;
import java.util.HashSet;
import java.util.Set;
import org.apache.shiro.authc.AuthenticationException;
import or ...
1.创建一个简单shiro项目
在src下创建shiro.ini配置文件
[users]
admin = 123,role1
[roles]
role1 = printer:print
用户名:admin 密码:123 为admin这个账户赋予role1角色,多个角色使用逗号隔开 role1这个角色拥有printer:print 这个权限,关于这个权限的写法,后面会讲到
HelloWorld
package com.shiro.helloworld;
import org.apache.shiro.SecurityUtils;
impo ...
Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro 要简单的多。
Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的 Shiro 就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。
S ...
1、shiro授权
1.1 授权流程
1.2 三种授权方法
Shiro 支持三种方式的授权:
编程式:通过写if/else 授权代码块完成:
Subject subject = SecurityUtils.getSubject();
if(subject.hasRole(“admin”)) {
//有权限
} else {
//无权限
}
注解式: ...
1 什么是shiro
shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。
spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。
shiro不依赖于spring,shiro不 ...