隨筆-60  評(píng)論-138  文章-1  trackbacks-0


          ?? 您好,我是蕭子云的小秘書(shū),蕭子云現(xiàn)在不在,您可以和我聊聊或留言。

          蒙古草原狼 08:52:38
          梟雄,在不!
          蕭子云 08:52:48
          我暈
          蒙古草原狼 08:53:19
          有幾個(gè)問(wèn)題想問(wèn)你:
          第一:你覺(jué)得狼怎么樣?昨天和三刀討論這個(gè)問(wèn)題,想知道你的看法!
          蕭子云 08:53:54
          滿好,挺好學(xué)的
          蕭子云 08:54:03
          什么問(wèn)題
          蒙古草原狼 08:54:36
          第二:我利用了ss的user類(lèi)作為用戶,由于當(dāng)中的字段很少,所以相加寫(xiě)上去,但是又不想讓他有太多的字段,主要是考慮到緩存.
          蒙古草原狼 08:55:12
          所以,我想在另外建立一個(gè)person類(lèi),目前考慮到讓?zhuān)穑澹颍螅铮罾^承user.
          蒙古草原狼 08:55:46
          你覺(jué)得我在那個(gè)方面需要更多的努力,我性格中的缺點(diǎn)是什么呢???
          蕭子云 08:56:40
          架構(gòu)方面需要努力
          蕭子云 08:56:53
          研究過(guò)于太深
          蒙古草原狼 08:57:13
          問(wèn)題是:你覺(jué)得是否是合適的?
          另外就是實(shí)現(xiàn):在hibernate中怎么來(lái)配置這種關(guān)系,由于我使用的的hibernate的ananotation,所以,我
          蕭子云 08:57:48
          技術(shù)研究過(guò)于太深
          蒙古草原狼 08:58:11
          寫(xiě)出了如下的類(lèi):
          /**
          ?*
          ?* @author 張宏志
          ?*
          ?*/
          // 這個(gè)類(lèi)繼承自u(píng)ser,所以,目前我使用了連接的子類(lèi)的方法,當(dāng)中不要primary key,其實(shí)就是子類(lèi)和父類(lèi)是外鍵的關(guān)系
          @Entity
          @Table(name = "person")
          @SuppressWarnings("unchecked")
          public class Person extends User {

          ?
          蕭子云 08:58:05
          可以寫(xiě)繼承類(lèi)
          蒙古草原狼 08:58:47

          @Entity
          @Table(name = "SS_USERS")
          @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
          @Inheritance(strategy = InheritanceType.JOINED)
          public class User {
          蒙古草原狼 08:59:02
          然后,我沒(méi)有在person中寫(xiě)id,
          蒙古草原狼 08:59:30
          使用繼承機(jī)制的 連接子類(lèi)實(shí)現(xiàn),
          蒙古草原狼 09:00:16
          我記得,可能要在person中加入一個(gè)user屬性,這樣子才能相連,大哥是不是這個(gè)樣子。
          蕭子云 09:01:01
          在person加入user類(lèi)
          蒙古草原狼 09:01:51
          除了這個(gè)問(wèn)題以外,還有一個(gè)問(wèn)題,就是acegi中,怎么在personaction中獲取到user這個(gè)類(lèi),
          由于,我還沒(méi)有去查查acegi的資料,所以有此一問(wèn)。
          蕭子云 09:03:03
          AuthenticationProcessingFilter.ACEGI_SECURITY_LAST_USERNAME_KEY
          蒙古草原狼 09:03:26
          蕭子云 08:57:48
          技術(shù)研究過(guò)于太深
          蕭兄,此與我未曾明白。
          蕭子云 09:03:55
          技術(shù)不要過(guò)去太深,能在項(xiàng)目中熟練使用就可以了
          蕭子云 09:04:50
          在cache中沒(méi)有存入用戶對(duì)象,只存入了3個(gè)字段
          蒙古草原狼 09:05:40
          那么也就是說(shuō),不用我這么麻煩的弄了。將所有的信息都存到user就可以了。
          蕭子云 09:06:03
          如果想搞技術(shù)-〉技術(shù)總監(jiān) 年輕飯 在國(guó)內(nèi)
          蕭子云 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
          明白了。另外,我最近想讀一下,人件 讀完后,如果覺(jué)得好,推薦給你。
          蕭子云 09:08:21
          UserAuthenticationProcessingFilter extends
          ??AuthenticationProcessingFilter?
          蕭子云 09:08:27
          我加入了一個(gè)方法
          蕭子云 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
          把登陸用的對(duì)象存入到UserSession中了
          蕭子云 09:09:38
          ss有個(gè)類(lèi) UserSession
          蒙古草原狼 09:11:47
          那么,usersession是用來(lái)做什么呢,等我用的時(shí)候,我怎么從usersession中取得userdetail
          蕭子云 09:11:57
          usersession存入的是user對(duì)象
          蒙古草原狼 09:12:27
          對(duì),我寫(xiě)錯(cuò)了。我看到是user 對(duì)象了。
          蕭子云 09:13:01
          對(duì)了,你把ss更新下
          蒙古草原狼 09:13:39
          也就是說(shuō),我可以在usersession中獲取到完整的user,而不用去數(shù)據(jù)庫(kù)取
          蕭子云 09:13:41
          是的
          蕭子云 09:14:10
          User user=(User) UserSession.get((String) request.getSession().getAttribute(AuthenticationProcessingFilter.ACEGI_SECURITY_LAST_USERNAME_KEY));
          蕭子云 09:14:24
          這是我要取用戶對(duì)象的信息
          蒙古草原狼 09:14:44
          core\src\java\org\springside\core\dao\HibernateGenericDao.java?
          ?
          蕭子云 09:14:39
          是的
          蒙古草原狼 09:14:58
          我只是更新到了這個(gè)

          posted on 2007-03-27 09:22 張氏兄弟 閱讀(287) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 聊天記錄知識(shí)整理
          主站蜘蛛池模板: 买车| 兴山县| 甘德县| 高唐县| 南漳县| 尉犁县| 上高县| 洞口县| 旬邑县| 崇信县| 库伦旗| 乌兰浩特市| 三台县| 崇阳县| 临安市| 斗六市| 高雄市| 巧家县| 玛多县| 永胜县| 兰溪市| 壤塘县| 绍兴县| 左贡县| 乌拉特中旗| 新蔡县| 舟山市| 西乡县| 松溪县| 威远县| 北京市| 林西县| 辉南县| 郧西县| 镇原县| 太保市| 银川市| 屏东市| 威宁| 阿荣旗| 荃湾区|