<property name="filterChainDefinitions"> <value> /login/** = anon </value> </property>
下马是java代码中要增加:
@RequestMapping(value = "/login") @ResponseBody public Object ajaxLogin(@RequestParam String username, @RequestParam String password, @RequestParam boolean rememberMe) { String ret=""; Subject currentUser = SecurityUtils.getSubject(); if (!currentUser.isAuthenticated()) { UsernamePasswordToken token = new UsernamePasswordToken(username, password); token.setRememberMe(rememberMe); try { currentUser.login(token); ret = "{success:true,message:'登陆成功'}"; } catch (UnknownAccountException ex) { ret = "{success:false,message:'账号错误'}"; logger.debug(ret); } catch (IncorrectCredentialsException ex) { ret = "{success:false,message:'密码错误'}"; logger.debug(ret); } catch (LockedAccountException ex) { ret = "{success:false,message:'账号已被锁定,请与管理员联系'}"; logger.debug(ret); } catch (AuthenticationException ex) { ret = "{success:false,message:'您没有授权'}"; logger.debug(ret); } } // 返回json数据 return ret; }
如果是html通过ajax请求,还需要加上跨域支持:
<filter> <filter-name>accessFilter</filter-name> <filter-class>com.hotice.shequ.filter.AccessFilter</filter-class> </filter> <filter-mapping> <filter-name>accessFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
@Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) servletResponse; response.setHeader("Access-Control-Allow-Origin","*"); response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); chain.doFilter(servletRequest, servletResponse); }
相关推荐
Apache Shiro 和 AJAX 的整合是现代 Web 应用程序中常见的需求,特别是在使用 Spring(SSH 框架的一部分)开发企业级应用时。Shiro 是一个强大且易用的 Java 安全框架,提供了身份验证、授权、会话管理和加密等功能...
shiro ajax 删除 没有权限 不跳转页面 或者没有反应
比较实用的简单项目,适合练习数据库的增删改查,框架与技术:SSM+Shiro+Ajax+jQuery+Thymeleaf
- 默认情况下,Shiro 使用内存中的会话存储,但可以通过配置使用分布式会话存储,如 Redis 或 Memcached。 7. **安全最佳实践**: - 密码不应明文存储,应使用加密算法如 SHA-256 加盐哈希。 - 对敏感操作进行...
本篇文章将深入探讨如何使用 Shiro 自定义实现识别 AJAX 请求,并根据请求类型返回 JSON 或普通页面。 首先,我们需要理解 Shiro 的工作流程。Shiro 提供了 Filter(过滤器)机制,通过配置可以在 Web 应用的入口处...
本文将详细介绍SpringBoot基于Shiro处理ajax请求代码实例,通过示例代码,详细地介绍了Shiro的配置和使用方法,对大家的学习或者工作具有一定的参考学习价值。 Shiro框架简介 Shiro是一个开源的Java安全框架,由 ...
在"shiro管理多登录入口配置,手机端登录与网页端登录"这个场景下,我们需要考虑如何为不同的登录入口(手机端和网页端)设置独立的验证流程。 首先,Shiro 的核心组件 Realm 负责与应用数据源交互,验证用户身份。...
10. **与Spring集成**:虽然Shiro自身已经足够轻量,但它也很好地与Spring框架集成,可以通过Spring的配置方式来管理Shiro组件,实现更高级的安全需求。 总的来说,Apache Shiro 是Java开发中一个不可忽视的安全...
在这个"shiro使用简单Demo"中,我们可以看到作者提供了一个基础的Shiro实现,特别针对URL和注解的权限管理进行演示,这对于初学者来说是一个很好的起点。 首先,我们来看`shiro2.xml`,这是Shiro的配置文件。在该...
在实际项目中,`shiro-root`目录可能包含了Shiro的配置文件(如shiro.ini或shiro.xml)、Spring整合Shiro的相关配置、以及自定义Realm的实现等。我们需要根据项目需求配置Shiro的安全策略,包括密码加密算法、未授权...
与Spring Security相比,Shiro的配置和使用通常更为直观和简单。它提供了全面的身份验证、授权、会话管理和缓存管理功能。 **认证过程**: 在Shiro中,认证是指验证用户身份的过程。你可以通过实现`Subject`接口的`...
1. **Shiro配置**:首先,在Spring的配置文件中引入Shiro的相关bean,如SecurityManager、Realm(自定义的权限验证类,通常继承AuthorizingRealm)等。 2. **自定义Realm**: Realm是Shiro的核心,负责用户身份的...
Shiro 的 Web 支持通常通过 Filter 方式进行,主要涉及两个 Filter:`ShiroFilter` 和 `DelegatingFilterProxy`。`ShiroFilter` 是 Shiro 提供的核心过滤器,负责拦截请求并执行相应的安全逻辑。而 `...
标题"shiro登陆注销权限控制"主要涉及的是Apache Shiro框架在登录、登出以及权限管理方面应用。Shiro是一个强大且易用的Java安全框架,处理认证、授权、会话管理和加密等核心安全问题。在这个项目中,登录和注销功能...
2. **配置Shiro**:创建shiro.ini或通过Java代码配置SecurityManager,设置Realm以连接到用户数据源,定义用户的认证和授权规则。 3. **创建登录Action**:在Struts2中编写一个处理用户登录请求的Action,调用Shiro...
在 Spring 配置文件 `spring-shiro.xml` 中,我们需要定义一个名为 `shiroFilter` 的 bean,它是 `ShiroFilterFactoryBean` 的实例。这个 bean 配置了 Shiro 过滤器链,其中包含了自定义的登出过滤器 `...
Apache Shiro是一个强大的Java安全框架,它提供了身份验证、授权、会话管理和加密等功能,使得在Java应用中处理安全性变得更加...正确配置和使用Shiro,能够有效地保护应用资源,确保只有合法的用户和操作才能进行。
三个核心组件:Subject, SecurityManager 和 Realms. Subject:即"当前操作用户"。...也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。
在描述中提到的"java项目使用shiro开发所使用的jar包都在里面",这暗示了压缩包可能包含了Shiro框架的所有必需组件。通常,这些jar包包括: 1. **org.apache.shiro.core.jar**:这是Shiro的核心模块,提供了基本的...
适用于spring集成的javaweb环境