shiro权限控制,Object转user报错

com.example.entity.UserInfo cannot be cast to com.example.entity.UserInfo

类型强转代码如下

  protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
        System.out.println("权限配置-->MyShiroRealm.doGetAuthorizationInfo()");
        SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();


        UserInfo userInfo  = (UserInfo) principals.getPrimaryPrincipal();
                .......

userInfo代码如下

 package com.example.entity;
import javax.persistence.*;
import java.io.Serializable;
import java.util.List;

@Entity
public class UserInfo implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue
    private Integer uid;
    @Column(unique =true)
    private String username;//帐号
    private String name;//名称(昵称或者真实姓名,不同系统不同定义)
    private String password; //密码;
    private String salt;//加密密码的盐
    private byte state;//用户状态,0:创建未认证(比如没有激活,没有输入验证码等等)--等待验证的用户 , 1:正常状态,2:用户被锁定.
    @ManyToMany(fetch= FetchType.EAGER)//立即从数据库中进行加载数据;
    @JoinTable(name = "SysUserRole", joinColumns = { @JoinColumn(name = "uid") }, inverseJoinColumns ={@JoinColumn(name = "roleId") })
    private List<SysRole> roleList;// 一个用户具有多个角色

    public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSalt() {
        return salt;
    }

    public void setSalt(String salt) {
        this.salt = salt;
    }

    public byte getState() {
        return state;
    }

    public void setState(byte state) {
        this.state = state;
    }

    public List<SysRole> getRoleList() {
        return roleList;
    }

    public void setRoleList(List<SysRole> roleList) {
        this.roleList = roleList;
    }

    /**
     * 密码盐.
     * @return
     */
    public String getCredentialsSalt(){
        return this.username+this.salt;
    }
    //重新对盐重新进行了定义,用户名+salt,这样就更加不容易被破解


    @Override
    public String toString() {
        return "UserInfo{" +
                "uid=" + uid +
                ", username='" + username + '\'' +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                ", salt='" + salt + '\'' +
                ", state=" + state +
                ", roleList=" + roleList +
                '}';
    }
}

1个回答

问题解决了,关掉springboot的热部署就可以了。但是这是啥原理啊?有没有大佬解答一下

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Shiro权限控制+整合shiro
Shiro权限控制 0.1传统的权限认证方式 特点:为每个人单独的分配权限模块,能够实现权限控制,但是当公司人员庞大之后,非常难管理 上述权限控制如何设计表? 关系:员工和菜单权限的关系:多对多 员工id 菜单名称 1 取派管理 2 快递员管理 2 运单管理 好处:可以方便的 实现权限控制 缺陷:比如当修改权限的时候,公司统一的给组长级别的人 加一个“计算工资”权限,...
权限控制shiro
权限控制之shiro与springmvc结合 绝对干货
shiro权限控制
核心思想: 通过角色(多对多)权限构建用户组的概念,即一个角色对应部分权限的用户组; 通过角色(多对多)菜单构建每个用户组能访问的菜单项,即通过用户(多对多)角色查询出角色对应的菜单即可; 通过realm进行角色和权限的授权,保证两部分权限,即角色+额外自定义的权限;   1.pom &amp;lt;!-- 权限控制 框架 --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;...
Shiro - 权限控制
在上一篇《Shiro – 登陆验证》中我们在自定义的UserRealm中继承了抽象类AuthorizingRealm,实现该类中的doGetAuthenticationInfo方法完成了登陆验证功能的实现。这次我们继续实现另一个方法doGetAuthorizationInfo()来实现权限控制功能。 授权也称为访问控制,是管理资源访问的过程。即根据不同用户的权限判断其是否有访问相应资源的权限...
Shiro 权限控制
权限认证核心要素 权限认证,也就是访问控制,即在应用中控制谁能访问哪些资源。 在权限认证中,最核心的三个要素是:权限,角色和用户; 权限,即操作资源的权利,比如访问某个页面,以及对某个模块的数据的添加,修改,删除,查看的权利; 角色,是权限的集合,一中角色可以包含多种权限; 用户,在 Shiro 中,代表访问系统的用户,即 Subject; 授权: 1、编程式授权 1.1、 基于角色的访...
[Shiro]权限控制
前言 Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。 准备工作 log4j-1.2.16.jar shiro-all-1.3.2.ja...
Shiro:有关于shiro的权限控制
在我们日常开发项目中,会涉及到很多不同角色拥有不同的功能,新的项目一般用shiro作为权限控制本人也非常推荐用shiro,一个强大的权限控制框架强大的权限控制框架:Shiro1.shiro的一个拦截,可以自定义package com.oneinlet.component.shiro; import org.apache.shiro.web.filter.authz.AuthorizationFi...
shiro权限控制(shiro第二讲)
Shrio使用 1. shiro注解方式实现管理员权限控制1) 导入jar包 2) 使用注解权限控制A. 授权 使用自定义的UserRealm                    B. 配置     C. 授权  期间遇到如下错误,发现原因是没有导进上面的四个包。                    2. 使得管理员没有权限访问的功能被访问时,跳转到nopass.jsp界面     1)当没有...
shiro动态URL权限控制
在Spring中整合shiro,使用shiro动态URL权限控制学习教程
SpringMVC + Shiro 权限控制
。。。。。。。SpringMVC + Shiro 权限控制
权限控制框架Shiro总结
权限控制框架Shiro总结
Shiro权限控制(一)
Shiro是Apache下的一个开源的项目,我们称之为Apache Shiro ,他是一个很易用于java项目的安全框架,提供了认证。授权、加密、会话管理,于Spring Security一样都可以做一个权限的安全框架,但是与Spring Security相比,在于shiro使用了比较简单的授权方式,shiro属于轻量级的框架,相对比较Spring Security简单的多,没有Security那...
权限控制框架-shiro
一。 shiro简介 Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。 本教程只介绍基本的Shir
SSM整合Shiro(权限控制)
概述: 1、权限控制的两种方式:粗粒度基于URL级别权限控制、细粒度基于方法级别权限控制 2、基于Apache Shiro实现登录认证和权限控制,重点shiro权限控制流程、自定义Realm对象控制系统认证和授权 3、Apache Shiro实现细粒度方法级别权限控制 4、动态系统菜单显示功能 5、对认证和授权数据进行缓存优化; 权限控制方式_粗粒度URL级别权限控制 可以...
权限控制方案之——集成shiro
概述:          上一篇文章中我们介绍的权限控制方案的实现方式是通过URL拦截实现的,这里介绍通过shiro实现权限控制。shiro是apache下的开源的权限管理框架。 Shiro架构:                   Subject:主体,是用户和程序的统一抽象。          SecurityManager:安全管理器,认证和授权的核心处理类。       
shiro管理端权限控制
管理端权限控制
关于shiro权限控制
shiro是Apache 推出的一个权限管理框架。它主要有三个核心组件:    Subject :当前操作用户(人、第三方进程等)    SecurityManager :管理内部组件、提供各种安全管理服务    Realms :shiro和系统安全数据之间的“桥梁”、“连接者”,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。 shir...
【Shiro】权限控制注解
Shiro共有5个注解: RequiresAuthentication: 使用该注解标注的类,实例,方法在访问或调用时,当前Subject必须在当前session中已经过认证。 RequiresGuest: 使用该注解标注的类,实例,方法在访问或调用时,当前Subject可以是“gust”身份,不需要经过认证或者在原先的session中存在记录。 ...
java权限控制框架shiro
概念:权限控制框架就是控制用户登录时的用户认证和用户访问资源时的授权java常见权限控制框架: spring的security apache的shiro
shiro视频教程 Apache 权限控制
另外一个5分的别下载,已经取消分享了,下载这个,绝对有。
Spring Boot Shiro权限控制
在Spring Boot中集成Shiro,可以了解到如何使用Spring MVC,;如何使用Spring Data JPA进行数据的持久化;如何使用Shiro安全框架;如何使用Thymeleaf模板引擎;如何使用ehcache缓存管理!
shiro权限控制框架的搭建
2.Shiro简介 2.1.是什么shiro? Apache Shiro是一个强大且易用的Java安全框架,有身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。 Spring security 重量级安全框架 Apache Shiro轻量级安全框架 2.2.shiro能干什么? Shiro 开...
shiro权限控制与Spring整合
通过Shiro官方给的Tutorial我们知道Shiro的操作都是基于Subject的,而Subject来自SecurityManager,如下 SecurityManager securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager); // get t...
Shiro 权限控制框架
Apache Shiro 是一个框架,可用于身份验证和授权。   1.身份验证:身份验证 指的是验证用户的身份。在验证用户身份时,需要确认用户的身份的确如他们所声称的那样。在大多数应用程序中, 身份验证是通过用户名和密码的组合完成的。只要用户选择了他人很难猜到的密码,那么用户名和密码的组合通常就足以确立身份。 但是,还有其他的身份验证方式可用,比如指纹、证书和生成键。 2.授权:一旦身份
Shiro权限控制(二)
之前写过Shiro的文章,但是当回过头来整理的时候,发现缺了好多东西,今天重新整理一下。 我们都知道Shiro和secitity都是安全的框架,但是相对于Shiro来说,比较入门简单,所需要的功能基本上都能满足,理解起来也会比较容易。 Shiro是一个有许多特性的全面的安全框架,下面一幅图进行介绍。 可以看出Shiro除了基本的认证、授权、会话管理、加密之外还有许多特性。 Shiro架...
Shiro四种权限控制方式
四种权限控制方式 @Configuration public class ShiroConfig { @Bean public ShiroFilterFactoryBean shirFilter(DefaultWebSecurityManager securityManager) { ShiroFilterFactoryBean shiroFilterFactory...
shiro登陆注销权限控制
将focus.sql在Mysql数据库执行,后再项目yml文件中修改数据库配置即可直接启动项目。登陆账户名称和密码直接在数据库查看
shiro实现权限控制zip
NULL 博文链接:https://201211222637.iteye.com/blog/2415946
springmvc整合shiro权限控制
一、什么是Shiro  Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:  认证 - 用户身份识别,常被称为用户“登录”;授权 - 访问控制;密码加密 - 保护或隐藏数据防止被偷窥;会话管理 - 每用户相关的时间敏感的状态。 对于任何一个应用程序,Shiro都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro要简单的多。
Shiro的认证和权限控制
Shiro的权限和权限
Shiro进行权限控制
列举Shiro的集中控制权限的方法 一、使用shiro的方法注解方式权限控制 第一步:在spring配置文件中开启shiro注解支持           开启shiro框架注解支持 -->           bean id="defaultAdvisorAutoProxyCreator"  class="org.springframework.aop.framework.a
Shiro权限控制应用
       最近学习了解了一下Shiro,发现他在权限控制方面有很好的处理,现将相关的学习心得记录下来,作为自己的知识储备,也为有需要的小伙伴提供解决方案。      Shiro 是一款简单易用的Java安全框架,可以帮助我们完成:认证、授权、加密、会话管理,你可以快速集成到任何应用程序——从最小的移动应用程序到最大的web应用程序。       图一在很多地方都可以见到,他可以让我们从程序的角...
shiro提供的权限控制方式
shiro的四种权限控制方式:    1.url拦截            2.方法注解            3.页面标签            4.通过调用checkPermission()方法        值得注意一下的是:如果使用的是springmvc,那么注解开启的配置需要放到springmvc.xml里,否则注解的方式不会生效...
shiro权限控制用户登录的用法介绍
&amp;#13; 在互联网用户登录的时候,我们大部分的时候要对登录的用户进行权限控制 技术:shiro--- ssh 整合的代码 1 shiro 包的引入 &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.shiro&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;...
Shiro权限控制之整合Spring(一)
1.介绍如何在SpringMVC中整合Shiro权限框架 2.介绍如何使用Shrio进行身份验证,如常见的登录 3.介绍如何控制哪些服务登录后才能访问,哪些服务不需要登录就可以访问
java shiro做登陆权限控制
1.环境 jdk1.7 spring.version 4.2.2.RELEASE shiro.version 1.2.5 开发工具 eclipse Mars.1 Release (4.5.1) 2.pom引入 org.apache.shiro shiro-core ${shiro.version} org.apache.shiro shiro-web ${sh
Shiro基于JDBC的配置权限控制
1、导包shiro-core.jar、c3p0.jar 2、创建如下表: CREATE TABLE `roles_permissions` (   `_id` int(11) NOT NULL AUTO_INCREMENT,   `permission` varchar(40) DEFAULT NULL,   `role_name` varchar(100) DEFAULT NULL,
Apache Shiro权限控制框架简介
Apache Shiro权限控制框架简介 要想实现权限控制,可以自己写代码实现,蓄力都的权限控制可以通过过滤器Filter实现,细粒度的权限控制是基于代理对象结合自定义的注解和反射技术来实现,反射技术用于读取注解的信息。所有就有以下主要途径来实现权限控制: 自己动手写框架 使用spring security安全框架,有名,但使用复杂,学习成本高 使用Apache Shiro框架,更
shiro框架提供的权限控制方式
1.url权限控制 (基于过滤器实现)  参考https://blog.csdn.net/kxj19980524/article/details/84898417 2. 使用shiro的方法注解方式权限控制(基于代理技术实现) 在spring配置文件中开启shiro注解支持 &amp;lt;!-- 开启shiro框架注解支持 --&amp;gt;     &amp;lt;bean id=&quot;defaultAd...
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池