@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserDao userDao;
@Transactional
public User findByName(String userName) {
User user = null;
user= userDao.getUserByName(userName);
return user;
}
}
这样一个service在ShiroDbRealm 使用时,始终无法初始化,但我这个service在普通的@Controller中都是可以使用的,用法也是这样。
public class ShiroDbRealm extends AuthorizingRealm {
@Autowired
private UserService userService;
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
String userName = (String) principals.fromRealm(getName()).iterator().next();
User user= userService.findByName(userName);
if (user != null) {
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
info.addStringPermission("");
return info;
}
return null;
}
@Override
protected AuthenticationInfo doGetAuthenticationInfo(
AuthenticationToken token) throws AuthenticationException {
UsernamePasswordToken upToken = (UsernamePasswordToken) token;
User user = userService.findByName(upToken.getUsername());
if (user != null) {
return new SimpleAuthenticationInfo(user, user.getPassword(), getName());
}
return null;
}
}
解决方案 »
- 求一个Hibernate工具!
- 怎么把数据库表中的数据一行一行的写入文本文件,并且每个字段加上分隔符
- WEB访问EJB3.0 Stateful 的问题
- 在线等:spring+hibernate update时的简单问题
- JSP中自定义标签嵌套的问题,请高手指教:)
- applet嵌入在jsp页面中,applet中有一个jbutton按钮,想通过这个按钮来关闭这个jsp页面,不知道如何实现?
- 谁给我,介绍几本好书啊~~~~~~~
- 修改一个javabeans?,必须重启tomcat吗?用什么方法不重启它就能用修改过的beans?
- 高分求助:struts1.1下的连接池怎么总出现connection is closed这种错误?
- 下面这段为什么不起作用?
- Struts2 action中只能接收一个参数?
- 用浏览器打开一个文件jsp文件时,出现的是下载jsp文件而不是打开
@Component
public class ShiroDbRealm extends AuthorizingRealm 或者
读spring配置文件,getBean ClassPathXmlApplicationContext ca = new ClassPathXmlApplicationContext(
"classpath:applicationContext.xml");
UserServiceImpl userservice = (UserService) ca.getBean("UserServiceImpl ");