** 这个是PDF格式的原件地址,http://www.blogjava.net/Files/joey/opensso.rar ,大家可以拿去参考,但是请注意这个文档是2006年写的,后来再无更新,所以请注意版本。

     这是一个OpenSSO的实际应用实例, 因为是客户要求英文,所以只有英文版,我的英文比较烂,所以请大家包涵了. 其实如果你在用OpenSSO的时候有什么麻烦,我认为最好的求助地方是OpenSSO小组的MailList,在OpenSSO网站上有, 他们真的很热心,基本有问24小时内必复,而且都是OpenSSO小组的成员答复的.真的很棒.
 
大家对我的文章里有什么疑问也可以给我留言.还有因为原来是PDF格式的, 后转成txt格式, 所以有些地方不是很好看.请大家见谅


                Implement SSO with AD

                             Joey

                        December 26, 2006

 

Contents

1 Software Environment                                                    2

2 Create Users in AD                                                      2

3 Join Linux into Windows2003 Domain                                      2

4 Install JBoss server and JRE 5                                          3

5 Fix Windows TCP port                                                    3

6 Deploy and Cong Access Manager                                          4
 6.1 Deploy Access Manager . . . . . . . . . . . . . . . . . . . . . . .  4
 6.2 Cong Access Manager . . . . . . . . . . . . . . . . . . . . . . . .  4

7 Install Sun Java System Access Manager Policy Agent                     6

8 Make Application to support SSO                                         7

A Cong DHCP Server                                                        8

B Cong Domain controller                                                  9

C Authorize DHCP server                                                  10

 


                                1

1 Software Environment

 Roles                               Computer name       Platform

 Domain             Server,DHCP       srv-1.contoso.com   Window2003 Active Directory
 Server,DNS Server
 Application server 1                test-1.contoso.com  Win2K3/XP, JRE5.0, SJS AM
                                                       Policy Agent 2.2 For JBoss
 Application server 2                test-2.contoso.com  Win2K3/XP, JRE5.0, SJS AM
                                                       Policy Agent 2.2 For JBoss
 Access Manager server               ams.contoso.com     Ret Hat Linux, JBoss 4.02 or
                                                       above


2 Create Users in AD

Create two group in AD, add one user for each group, and create amadmin as
administrator for AM.

 User                                Group in AD

 admin                               users
 danie                               users
 amadmin                             Users


3 Join Linux into Windows2003 Domain( Only for WIndows2003 DC, Ret Hat Linux )

  1. Modify /etc/krb5.conf

           Replace ’EXAMPLE.COM’ with your domain name, replace ker-
           beros.example.com with your AD server name. (case-sensitive in this
           section,just follow this demo).


     krb5.conf sample: suppose Domain name is contoso.com,
     AD server is srv-1.contoso.com, and IP is 10.0.0.2.
     and then keep others default setting in krb5.conf


     [libdefaults]
                default_realm = CONTOSO.COM
                dns_lookup_kdc = false
                dns_lookup_realm = false


     [realms]
     CONTOSO.COM = {
                admin_server = srv-1.contoso.com:749
                default_domain = contoso.com
                kdc = 10.0.0.2:88
     }


     [domain_realm]
                .contoso.com=CONTOSO.COM

 

 

                                        2

                contoso.com=CONTOSO.COM

 


  2. Modify /etc/samba/smb.cof smb.cof sample:


         realm = contoso.com              # add this by your self.
         workgroup = CONTOSO
         security = ADS

 

  3. Get a ticket. run kinit administrator(enter the administrator password
      when prompted command) in a shell window.

      sample: kinit administrator@CONTOSO.COM

  4. Join the domain Run net join in a shell window.

      sample: net ads join

  5. restart samba or just restart system simply.


4 Install JBoss server and JRE 5

Install JBoss server and JRE 5 on Test-1.contoso.com, Test-2.contoso.com ,an
ams.contoso.com


5 Fix Windows TCP port

  1. Start Registry Editor.

  2. Locate the following subkey in the registry, and then click Parameters:
      HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  3. On the Edit menu, click New, and then add the following registry entry:
      Value Name: MaxUserPort
      Value Type: DWORD
      Value data: 65534
      Valid Range: 5000-65534 (decimal)
      Default: 0x1388 (5000 decimal)
      Description: This parameter controls the maximum port number that is
      used when a program requests any available user port from the system.
      Typically , ephemeral (short-lived) ports are allocated between the values
      of 1024 and 5000 inclusive.

  4. Quit Registry Editor.      2

 


  2 For more information, check here http://support.microsoft.com/default.aspx?scid=kb;EN-
US;196271

 

                                            3

6 Deploy and Cong Access Manager

Do this step on ams.contoso.com


6.1 Deploy Access Manager

Copy ”opensso.war” to (JBossDIR) \ server\default\deploy


6.2 Cong Access Manager

  1. Start JBoss server.

  2. In Brower (From any client computer), access the link ”http://ams.contoso.com:8080/opensso”.
     See following picture.

  3. In Congurator page, you can change anything according your need. But
     in this case I keep all default values, just input new password in Super
     Administrator password, password is ”12345678”. And cookie Domain:
     ”.contoso.com”Click Congure button.

  4. If everything is ok, you can see this page after few seconds. and you can
     click link ”here” or wait for 5 seconds, It will be automatically redirected
     to ”Sun Java System Access Manager” login page. See following picture.

  5. And we need to login Access Manager. Type ”amadmin” for User Name,
     and ”12345678” for password.(This password is we input in 6.2.3)

  6. Cong AD Authentication After you nish 6.2.5, use this web link to
     access AM. http://ams.contoso.com:8080/opensso.

         Set Core Service.

             – Click Conguration→ Authentication → Service Name : Core

             – Select User Prole : Dynamic

             – Click ”Save”, Click ”Back to Conguration”.

         Access Control → Realm Name - opensso → Authentication, see
          pic 3.

         Cong AD Module Instances

             – Click ”New” Button in ”Module Instances”.

             – Type a Name for new Instances, we use ”AD” in here and select
                ”Active Directory” for type options, click ok. see pic-4.

             – Click ”AD” what we just created in last step. and Input ...

 


                                          4

             Item                                Values

             Primary       Active    Directory     srv-1.contoso.com:389 (remove default value)
             Server
             DN to Start User Search             dc=contoso, dc=com (remove default value)
             DN for Root User Bind               cn=administrator,cn=users,dc=contoso,
                                                dc=com (remove default value)
             Password for Root User Bind         (Password of Domain administrator)
             Password for Root User Bind         (Password of Domain administrator)
             (conrm)
             Attribute Used to Retrieve          cn
             User Prole
             Attributes Used to Search for       cn (remove default value)
             a User to be Authenticated
             Return User DN to Authenti-         DeSelected
             cate

        – ”Save” and click ”Back to Authentication”.

7. Cong Authentication Chaining.

     Click ”New” Button in ”Authentication Chaining”.

     Type a name for New Authentication Chain; we use ”ADChain” in
      there. Click ”OK” button.

     In ”AD Chain-Properties” Page, Click ”Add” button, and select
      ”AD” for Instance. See pic-5, click ”Save” and ”Back to Authen-
      tication”.

     Set Default Authentication Chain
      Authentication → General,

        – select ”ADChain” for ”Default Authentication Chain”

        – select ”ADChain” for ”Administrator Authentication Chain”

        – click ”Save” button, click ”Realms” button.

     Create Agent
      Main Page → Access Control , select OpenSSO → Subjects →
      Agent → new Agent

        ID                       Agent1
        Password                 (password)
        Password (conrm)         (password)
        Device status            Active

 


                                     5

7 Install Sun Java System Access Manager Pol-
   icy Agent

 1. Create a pasword le for following step. Just input the agent password
    into this le. sample: d:\ deploy\ password.txt

 2. Unzip Access Manager Policy Agent.

 3. Change to the following directory.
    PolicyAgent-base/bin

 4. Issue the following command, and ll the values follow this table.
    agentadmin –install

     Item                              Values

     JBoss Server Cong Directory       D:\deploy\jboss-
                                      4.0.5.GA\server\default\conf
     Access Manager Services Host      ams.contoso.com
     Access Manager Services Port      8080
     Access Manager Services Pro-      http
     tocol
     Access Manager Services De-       /opensso
     ployment URI
     Agent Host name                   test-1.contoso.com
     Agent permissions gets added      false
     to java permissions policy le
     Application Server Instance       8080
     Port number
     Protocol for Application            http
     Server instance
     Deployment URI for the Agent      /opensso
     Application
     Encryption Key                    iF95s8yb4EFZSJQ7qFKybmZdyuXvKofQ
     Agent Prole name                  Agent1
     Agent Prole Password le           d:\deploy\password.txt
     name

 


                                    6

8 Make Application to support SSO

 1. Copy amclientsdk.jar to Application lib directory.

 2. Add lter to Application.


    In web.xml, add following code.


         
                Agent
                com.sun.identity.agents.filter.AmAgentFilter
         

         
                Agent
                /*
                REQUEST
                INCLUDE
                FORWARD
                ERROR
         

 3. Get the user name who is login on.

    import com. iplanet . sso . SSOTokenManager ;
    import com. iplanet . sso . SSOToken ;
    import com. iplanet . sso . SSOException ;


    . . . . . .
           SSOTokenManager manager = SSOTokenManager .
                getInstance () ;
           SSOToken token = manager . createSSOToken ( request ) ;
            // HttpServletRequest request
            if (manager . isValidToken ( token ) )
               {
               String userDN = token . getPrincipal () . getName () ;
               String userName = userDN . substring (userDN .
                  indexOf (”=”) + 1 , userDN . indexOf (” ,”) ) ;
                System . out . println (”User DN = ” + userDN) ;
                System . out . println (”User Name = ” + userName) ;

              }
    . . . . .


 4. Deploy this application.
    If this application has been deployed before, you better undeploy it and
    clean JBoss temp directory.

 


                                     7

A Cong DHCP Server

DHCP server conguration steps, do it on srv-1.contoso.com

 1. In ”Manage You Server” click ”Add or remove a role”.

 2. ”Congure Your Server Wizard”, click ”Next”.

 3. Select ”Custom conguration”, click ”Next”.

 4. Select ”DHCP server” click ”Next”.

 5. Summary, Click ”Next”.

 6. ”New Scope Wizard” click ”Next”

 7. ”Scope Name”, set Name is ”Contoso HQ”. Click ”Next”.

 8. ”IP Address Range”, set ”start IP address” is 10.0.0.10; ”End IP address”
    is 10.0.0.254. click ”Next”

 9. ”Add Exclusions”, no need do nothing, just click ”Next”

10. ”Lease Duration”, click ”Next”.

11. ” Congure DHCP Options”, click ”Next”

12. ”Router (Default Gateway)”, set IP address 10.0.0.1, click add, next.

13. ”Domain Name and DNS servers” set parent domain as ”contoso.com”,
    for IP address, add 10.0.0.2. click ”Next”

14. ”WINS servers”, just click ”Next”.

15. ”Activate Scope”, select ”Yes, I want to active this scope now”, click
    ”next”.

16. Click nish (twice).

 


                                       8

B Cong Domain controller

Steps for cong Domain controller On server srv-1.contoso.com

  1. Run command ”DCPROMO”.

  2. ”Welcome to the Active Directory Installation Wizard”, click ”Next”.

  3. ”Operating System Compatibility”, click ”Next”.

  4. ”Domain Controller type”, select ”Domain controller for a new domain”,
     click ”Next”.

  5. ”Create New Domain”, select ”Domain in a new forest”, and click ”Next”.

  6. ”Install or Congure DNS”, select ”No, just install and congure DNS on
     this computer”, click ”Next”.

  7. ”New Domain Name”, type ”contoso.com”, clicks ”Next ”.

  8. ”NetBIOS Domain Name”, accept ”CONTOSO” as Domain NetBIOS
     Name. Click ”Next”.

  9. ”Database and Log Folders”, accept default value for Database and Log
     folder. Click ”Next”.

 10. ”Shared System Volume”, accept default for Folder location, click ”Next”.

 11. ”Permissions”, select ”Permissions compatible only with Windows 2000
     or Windows Server2003 operating systems”. Click ”Next”.

 12. ”Directory Services Restore Mode Administrator Password”, type pass-
     word, clicks ”Next”.

 13. ”Summary”, click ”Next”.

 14. ”Optional Networking Components”(a modal dialog).click ”ok”.

 15. ”Local Area Connection Properties” pops up. Select TCP/IP, assign
     10.0.0.2 to IP address, type TAB two times, assign 10.0.0.1 to Default
     gateway. Assign 127.0.0.1 to Preferred DNS server. Click ”Ok” and then
     click ”Close”.

 16. ”Completing the Active Directory Installation Wizard” click ”Finish”.

 17. Click Restart Now.

 


                                        9

C Authorize DHCP server

On server srv-1.contoso.com
Manage your Server → Manage this DHCP server → right click ”srv-1.contoso.com”,
select ”Authorize”.

 


                                  10

posted on 2009-01-05 15:14 华宗林 阅读(8909) 评论(31)  编辑  收藏
Comments
  • # re: OpenSSO 的实际应用
    loocky
    Posted @ 2006-12-14 18:00
    ?  回复  更多评论   
  • # re: OpenSSO 的实际应用
    lan
    Posted @ 2007-04-23 18:35
    希望分享,lan_ustb@126.com  回复  更多评论   
  • # re: OpenSSO 的实际应用[未登录]
    jason
    Posted @ 2007-04-24 14:28
    zhaizhanyi2005@163.com
    谢谢!  回复  更多评论   
  • # re: OpenSSO 的实际应用
    qushufen
    Posted @ 2007-05-08 13:51
    我也需要,希望能分享一下。dream8062@sina.com  回复  更多评论   
  • # re: OpenSSO 的实际应用
    gb2687
    Posted @ 2007-05-24 16:45
    gb2687@163.com
    谢谢  回复  更多评论   
  • # re: OpenSSO 的实际应用
    xZeus
    Posted @ 2007-05-30 23:40
    希望分享,thendmx@gmail.com  回复  更多评论   
  • # re: OpenSSO 的实际应用
    peace
    Posted @ 2007-06-19 08:41
    能给我发一份吗,朋友,正好为这个在着急啊,终于找到救星了!~~
    peace48@sina.com  回复  更多评论   
  • # re: OpenSSO 的实际应用
    thebesghost
    Posted @ 2007-06-19 17:26
    能给我发一份么,我也正在看单点登录的东东,还没决定才用什么技术,不过很想先研究一下SUN的opensso...非常感谢!
    jackwang428@163.com  回复  更多评论   
  • # re: OpenSSO 的实际应用
    zhong bo
    Posted @ 2007-06-26 15:09
    cnrapeseed@126.com
    能给我发一份吗。。。谢谢。。。。  回复  更多评论   
  • # re: OpenSSO 的实际应用[未登录]
    jerry
    Posted @ 2007-07-03 12:29
    能给我一份吗 谢谢 xianfeng_yu@126.com  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    dawn
    Posted @ 2007-08-13 00:58
    你好,能给我一份pdf格式的吗?
    谢谢!
    daystream@msn.com  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    zwlin
    Posted @ 2007-11-30 13:38
    能发我一份了么?
    谢谢
    lzhw85@163.com  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用[未登录]
    johnny
    Posted @ 2008-04-26 10:57
    朋友,能给我也发一份么?谢谢了
    thunder0011@163.com  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    echo
    Posted @ 2008-05-12 18:59
    最近在研究sso的东西,很想采用opensso的方案,不过据说opensso对.net的支持不是很好,但是我们系统是异构的,不知楼主能给点意见吗?谢谢,希望能和楼主多交流,我的邮箱是:
    qinsj1984@163.com  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    lincongsky
    Posted @ 2008-06-04 13:47
    能给我发一份吗,朋友,正好为这个在着急啊,终于找到救星了!~~
      回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    lincongsky
    Posted @ 2008-06-04 13:48
    能给我发一份吗,朋友,正好为这个在着急啊,终于找到救星了!~~
    我的邮箱是:lincongsky@163.com
    谢谢  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    Ethan
    Posted @ 2008-07-02 13:44
    您好,能给我发一份吗,我的邮箱是lingethan@163.com  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    wildfox
    Posted @ 2008-08-26 17:19
    楼主,能发给我一份吗?我现在也在研究OpenSSO,我的油箱是: wildfox@163.com 谢谢了  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用[未登录]
    Alexander
    Posted @ 2008-09-08 12:48
    楼主,你好,能给我也发一份吗,我也感兴趣,谢谢了
    油箱:crazyeer@163.com  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    simon wang
    Posted @ 2008-11-01 00:50
    您好,能麻烦您给我发一份吗?现在我正在做一个相关的单点登陆呢,可是现在正无从下手呢。  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    simon wang
    Posted @ 2008-11-01 00:51
    我的邮箱是 simon.shengchao@gmail.com,谢谢!  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    Judy
    Posted @ 2008-11-04 17:31
    能发我一份吗?谢谢了
    anglexf2006@gmail.com  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    wejl
    Posted @ 2008-12-30 21:37
    您好我是一个刚参加工作的新员工,最近在做单点登录,很想学习一下opensso,但是自己对这方面的认识不多,希望你能给我发点资料,我的Email是:weijl@inspur.com。谢谢您。  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    dafei1288
    Posted @ 2009-01-05 20:41
    dafei1288@sina.com

    能分享下不  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    Robin's Java World
    Posted @ 2009-01-06 00:29
    我也要一份,fastzch@gmail.com
    谢谢!  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    congdepeng@126.com
    Posted @ 2009-01-06 09:21
    我也刚学习 发我一份啊 congdepeng@126.com  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    ゞ沉默是金ゞ
    Posted @ 2009-01-06 09:36
    我也是刚了解,学习 发我一份 bhdxyjg@126.com  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    mysoko
    Posted @ 2009-01-10 16:29
    网站用了一个je里一人提供得filter实现得单点登录,最近好像发现问题了。

    能否提供下你得,参考学习。。

    liyunheng@gmail.com

    谢谢。  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    ss
    Posted @ 2009-12-23 14:48
    yuyingzhi@126.com,谢谢了  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用
    techleme
    Posted @ 2010-02-22 12:12
    能给我一份吗?
    zhang.jinhong@scottwilson.cn  回复  更多评论   
  • # re: 一个OpenSSO 的实际应用[未登录]
    li
    Posted @ 2011-09-22 10:40
    能给我发一份吗?632227561@qq.com  回复  更多评论   

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


网站导航: