随笔-60  评论-138  文章-1  trackbacks-0


   您好,我是萧子云的小秘书,萧子云现在不在,您可以和我聊聊或留言。

蒙古草原狼 08:52:38
枭雄,在不!
萧子云 08:52:48
我晕
蒙古草原狼 08:53:19
有几个问题想问你:
第一:你觉得狼怎么样?昨天和三刀讨论这个问题,想知道你的看法!
萧子云 08:53:54
满好,挺好学的
萧子云 08:54:03
什么问题
蒙古草原狼 08:54:36
第二:我利用了ss的user类作为用户,由于当中的字段很少,所以相加写上去,但是又不想让他有太多的字段,主要是考虑到缓存.
蒙古草原狼 08:55:12
所以,我想在另外建立一个person类,目前考虑到让person继承user.
蒙古草原狼 08:55:46
你觉得我在那个方面需要更多的努力,我性格中的缺点是什么呢???
萧子云 08:56:40
架构方面需要努力
萧子云 08:56:53
研究过于太深
蒙古草原狼 08:57:13
问题是:你觉得是否是合适的?
另外就是实现:在hibernate中怎么来配置这种关系,由于我使用的的hibernate的ananotation,所以,我
萧子云 08:57:48
技术研究过于太深
蒙古草原狼 08:58:11
写出了如下的类:
/**
 *
 * @author 张宏志
 *
 */
// 这个类继承自user,所以,目前我使用了连接的子类的方法,当中不要primary key,其实就是子类和父类是外键的关系
@Entity
@Table(name = "person")
@SuppressWarnings("unchecked")
public class Person extends User {

 
萧子云 08:58:05
可以写继承类
蒙古草原狼 08:58:47

@Entity
@Table(name = "SS_USERS")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Inheritance(strategy = InheritanceType.JOINED)
public class User {
蒙古草原狼 08:59:02
然后,我没有在person中写id,
蒙古草原狼 08:59:30
使用继承机制的 连接子类实现,
蒙古草原狼 09:00:16
我记得,可能要在person中加入一个user属性,这样子才能相连,大哥是不是这个样子。
萧子云 09:01:01
在person加入user类
蒙古草原狼 09:01:51
除了这个问题以外,还有一个问题,就是acegi中,怎么在personaction中获取到user这个类,
由于,我还没有去查查acegi的资料,所以有此一问。
萧子云 09:03:03
AuthenticationProcessingFilter.ACEGI_SECURITY_LAST_USERNAME_KEY
蒙古草原狼 09:03:26
萧子云 08:57:48
技术研究过于太深
萧兄,此与我未曾明白。
萧子云 09:03:55
技术不要过去太深,能在项目中熟练使用就可以了
萧子云 09:04:50
在cache中没有存入用户对象,只存入了3个字段
蒙古草原狼 09:05:40
那么也就是说,不用我这么麻烦的弄了。将所有的信息都存到user就可以了。
萧子云 09:06:03
如果想搞技术-〉技术总监 年轻饭 在国内
萧子云 09:07:01
这块 public void addUser(String username, String password, boolean enabled, boolean accountNonExpired,
      boolean credentialsNonExpired, boolean accountNonLocked, GrantedAuthority[] authorities){
  User user = new User(username, password, enabled, accountNonExpired,
       credentialsNonExpired, accountNonLocked, authorities);
  addUser(user);
 }
萧子云 09:07:17
cache存的用户信息
蒙古草原狼 09:08:20
明白了。另外,我最近想读一下,人件 读完后,如果觉得好,推荐给你。
萧子云 09:08:21
UserAuthenticationProcessingFilter extends
  AuthenticationProcessingFilter 
萧子云 09:08:27
我加入了一个方法
萧子云 09:08:39
protected boolean requiresAuthentication(HttpServletRequest request,
   HttpServletResponse response) {
  boolean requiresAuth = super.requiresAuthentication(request, response);
  
    if (!requiresAuth) {
     SecurityContext sc = SecurityContextHolder.getContext();
     Authentication auth = sc.getAuthentication();
     if (auth != null
       && auth.getPrincipal() instanceof UserDetails) {
      UserDetails ud = (UserDetails) auth.getPrincipal();
      User user = userManager.getUserByLoginidAndPasswd(ud
        .getUsername(), ud.getPassword());
      if(UserSession.get(user.getUserLogin())==null){
       UserSession.set(user.getUserLogin(),user);       
      }
     }
    }
 
 
  return requiresAuth;
 }
萧子云 09:09:15
把登陆用的对象存入到UserSession中了
萧子云 09:09:38
ss有个类 UserSession
蒙古草原狼 09:11:47
那么,usersession是用来做什么呢,等我用的时候,我怎么从usersession中取得userdetail
萧子云 09:11:57
usersession存入的是user对象
蒙古草原狼 09:12:27
对,我写错了。我看到是user 对象了。
萧子云 09:13:01
对了,你把ss更新下
蒙古草原狼 09:13:39
也就是说,我可以在usersession中获取到完整的user,而不用去数据库取
萧子云 09:13:41
是的
萧子云 09:14:10
User user=(User) UserSession.get((String) request.getSession().getAttribute(AuthenticationProcessingFilter.ACEGI_SECURITY_LAST_USERNAME_KEY));
萧子云 09:14:24
这是我要取用户对象的信息
蒙古草原狼 09:14:44
core\src\java\org\springside\core\dao\HibernateGenericDao.java 
 
萧子云 09:14:39
是的
蒙古草原狼 09:14:58
我只是更新到了这个

posted on 2007-03-27 09:22 张氏兄弟 阅读(270) 评论(0)  编辑  收藏 所属分类: 聊天记录知识整理

只有注册用户登录后才能发表评论。


网站导航: