<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1451175741317449949</id><updated>2011-12-24T04:11:48.130-08:00</updated><category term='OpenSSO'/><category term='Oracle Identity Manager'/><category term='Oracle Identity Analytics'/><category term='webcenter'/><category term='SALESFORCE'/><category term='Windows'/><category term='WSFED'/><category term='IDP'/><category term='Liberty Alliance ID-FF'/><category term='Job'/><category term='ZOHO'/><category term='Oracle HTTP Server'/><category term='CA Identity MANAGER'/><category term='EJB'/><category term='SAP'/><category term='OneLogin'/><category term='Evidian'/><category term='Identity Theft'/><category term='Passlogix'/><category term='11g'/><category term='mod_auth_openid'/><category term='Oracle Entitlement Server'/><category term='Solaris'/><category term='Shibboleth'/><category term='Apache'/><category term='Identity Management'/><category term='Identity Provider'/><category term='Sailpoint'/><category term='Web ServiceS'/><category term='Web Server'/><category term='GOOGLE'/><category term='SSH'/><category term='authentication'/><category term='webservices'/><category term='ADFS'/><category term='IIS'/><category term='PERL'/><category term='Oracle Identity Federation'/><category term='wordpress'/><category term='CAS'/><category term='Tomcat'/><category term='ID-WSF'/><category term='IntQns'/><category term='iPhone'/><category term='Firefox'/><category term='OutOfBandAuthentication'/><category term='XACML'/><category term='SPML'/><category term='Certificate'/><category term='Enterprise SSO'/><category term='Intel'/><category term='AIX'/><category term='.NET'/><category term='Unix'/><category term='Python'/><category term='GoogleApps'/><category term='IDS'/><category term='WIF'/><category term='Access Certifications'/><category term='OAuth'/><category term='Sun Role Manager'/><category term='ESB'/><category term='Oracle Internet Directory'/><category term='Oracle IdM 11g'/><category term='Alfresco'/><category term='Oracle'/><category term='SOA'/><category term='Goverance'/><category term='Blackberry'/><category term='Claims Authentication'/><category term='Oracle Access Manager'/><category term='Certificates'/><category term='SOCIAL NETWORKING'/><category term='SSL'/><category term='CGI'/><category term='Risk'/><category term='OSR'/><category term='JSON'/><category term='Facebook'/><category term='XSPA'/><category term='Aveksa'/><category term='Cloud Computing'/><category term='idmjobs'/><category term='ASCII'/><category term='two factor authentication'/><category term='TOKEN'/><category term='ADF'/><category term='PHP'/><category term='Active Directory'/><category term='Linux'/><category term='twitter'/><category term='Sharepoint'/><category term='Ubuntu'/><category term='Exchange 2010'/><category term='Silverlight'/><category term='CA Business Intelligence'/><category term='Entitlements'/><category term='Novell'/><category term='Fedlet'/><category term='HTTPS'/><category term='Tivoli Access Manager / IBM Products'/><category term='Hibernate'/><category term='web apps'/><category term='Radius Authentication'/><category term='JAAS'/><category term='HTTP'/><category term='liferay'/><category term='Compliance'/><category term='OAAM'/><category term='Axis'/><category term='IPOD'/><category term='websphere'/><category term='Single Sign On'/><category term='Cardspace'/><category term='Provisoning'/><category term='Gartner'/><category term='Centrify'/><category term='CA Siteminder'/><category term='Federation'/><category term='Adobe'/><category term='NTLM'/><category term='ping federate'/><category term='GRC'/><category term='mysql'/><category term='OpenAuth'/><category term='Nokia'/><category term='IPS'/><category term='COLDFUSION'/><category term='OpenIAM'/><category term='XML'/><category term='SSO'/><category term='Kerberos'/><category term='Oracle Web Services Manager'/><category term='Access Control'/><category term='SUN IDM'/><category term='SAML'/><category term='OpenID'/><category term='Microsoft IdM'/><category term='Chat'/><category term='weblogic'/><category term='RESTWebServices'/><category term='Cookies'/><category term='XSS'/><category term='IdMTutorial'/><category term='OVD'/><category term='OpenSSH'/><category term='Impersonation'/><category term='ESSO'/><category term='proxy'/><category term='WEBEX'/><category term='mod_auth_kerb'/><category term='IdMgeneral'/><category term='apere'/><category term='UCM'/><category term='Authorization'/><category term='Blackberry Playbook'/><category term='Security'/><category term='Information Security'/><category term='OIF'/><category term='Azure'/><category term='MAC'/><category term='C++'/><category term='ldap'/><category term='OAM'/><category term='CA Role Manager'/><category term='Linkedin'/><category term='Passwords'/><category term='Spring'/><category term='Peoplesoft'/><category term='Android'/><category term='Softwares'/><category term='HTML5'/><category term='database'/><category term='SAMBA'/><category term='OVF'/><category term='OWA'/><category term='Siteminder'/><category term='ERP'/><category term='Java'/><category term='mod_auth_saml'/><category term='Web 2.0'/><category term='OpenSource'/><category term='Oracle EBS'/><category term='C#'/><category term='SOAP'/><category term='Artifacts'/><category term='PKI'/><category term='JAX'/><category term='SEO'/><category term='WCF'/><category term='RBAC'/><category term='IDM'/><category term='Foundation'/><category term='JBOSS'/><category term='Role Management'/><category term='SAAS'/><title type='text'>Identity and Access Management</title><subtitle type='html'>Discussion about Identity Management Enterprise Software, Single Sign On, SEO, Search Engine Optimization, Web Servers, Digital Technology, Networking, Anti Virus Software, Web Design, Education on Internet Security, Web Hosting, Sharepoint Directory Services, Mobile.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default?start-index=101&amp;max-results=100'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>894</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-6474912327034010468</id><published>2011-11-01T22:00:00.000-07:00</published><updated>2011-11-01T22:00:26.959-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='websphere'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>Advanced SSL configuration on IBM Http Server – Restrict unused HTTP methods and Verbose HTTP headers</title><content type='html'>Restricting unused HTTP methods&lt;br /&gt;&lt;br /&gt;The HTTP method is supplied in the request line and specifies the operation that the client has requested. Browsers will generally just use two methods to access and interact with web sites; GET for queries that can be safely repeated and POST for operations that may have side effects. This means, we need to disable unused http methods. some of them are:(PUT|DELETE|TRACE|TRACK|COPY|MOVE|LOCK|UNLOCK|PROPFIND|PROPPATCH|SEARCH|MKCOL). Check with the application teams, if they need any of these methods for the application to work, before disabling them.&lt;br /&gt;&lt;br /&gt;Testing before limiting http methods:&lt;br /&gt;&lt;br /&gt;telnet josephamrithraj.mp 80 &lt;br /&gt;Trying xx.xx.xx.xx… &lt;br /&gt;Connected to josephamrithraj.mp. &lt;br /&gt;Escape character is ‘^]’. &lt;br /&gt;OPTIONS / HTTP/1.1 &lt;br /&gt;Host: josephamrithraj.mp&lt;br /&gt;&lt;br /&gt;HTTP/1.1 200 OK &lt;br /&gt;Date: Thu, 14 Sep 2010 00:11:57 GMT &lt;br /&gt;Server: Apache Web Server &lt;br /&gt;Content-Length: 0 &lt;br /&gt;Allow: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, TRACE&lt;br /&gt;&lt;br /&gt;Connection closed by foreign host.&lt;br /&gt;&lt;br /&gt;your IBM http servers configuration file [httpd.conf] has 2 sections named main and virtualhost sections. you need to add the following code at both the places. I am explaining this task using mod_rewrite module. So, first make sure that… mod_rewrite is enabled. then, add the following lines to your http.conf files main and virtualhost sections.&lt;br /&gt;&lt;br /&gt;RewriteEngine On &lt;br /&gt;RewriteCond %{REQUEST_METHOD} ^(PUT|DELETE|TRACE|TRACK|COPY|MOVE|LOCK|UNLOCK|PROPFIND|PROPPATCH|SEARCH|MKCOL)&lt;br /&gt;RewriteRule .* – [F]&lt;br /&gt;&lt;br /&gt;Restart the web server after adding the above lines.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now, when someone tried to use one of these http methods, they will get forbidden response since we specified [F] in the rewrite rule.&lt;br /&gt;&lt;br /&gt;Testing after adding and restarting web server&lt;br /&gt;&lt;br /&gt;telnet josephamrithraj.mp 80&lt;br /&gt;Trying xx.xx.xx.xx...&lt;br /&gt;Connected to josephamrithraj.mp.&lt;br /&gt;Escape character is '^]'.&lt;br /&gt;OPTIONS / HTTP/1.1&lt;br /&gt;Host: josephamrithraj.mp&lt;br /&gt;&lt;br /&gt;HTTP/1.1 200 OK&lt;br /&gt;Date: Thu, 14 Sep 2010 00:15:44 GMT&lt;br /&gt;Server: Apache Web Server&lt;br /&gt;Content-Length: 0&lt;br /&gt;Allow: GET, POST&lt;br /&gt;Connection closed by foreign host.&lt;br /&gt;Testing TRACE methods&lt;br /&gt;&lt;br /&gt;telnet josephamrithraj.mp 80&lt;br /&gt;Trying xx.xx.xx.xx...&lt;br /&gt;Connected josephamrithraj.mp&lt;br /&gt;Escape character is '^]'.&lt;br /&gt;TRACE / HTTP/1.0&lt;br /&gt;Host: josephamrithraj.mp&lt;br /&gt;testing...  &lt;- ENTER twiceHTTP/1.1 403 ForbiddenDate: Thu, 14 Sep 2010 00:18:31 GMTServer: Apache Web ServerContent-Length: 320Connection: closeContent-Type: text/html; charset=iso-8859-1&lt;!DOCTYPE HTML(link) PUBLIC "-//IETF//DTD HTML(link) 2.0//EN"&gt;&lt;br /&gt;&lt;html&gt;&lt;head&gt;&lt;br /&gt;&lt;title&gt;403 Forbidden&lt;/title&gt;&lt;br /&gt;&lt;/head&gt;&lt;body&gt;&lt;br /&gt;&lt;h1&gt;Forbidden&lt;/h1&gt;&lt;p&gt;You don't have permission to access / on this server.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;&lt;br /&gt;Connection closed by foreign host. &lt;br /&gt;Disable verbose HTTP headers:&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;you might have seen this … when the web server [apache or ibm http server] throws errors page, sometimes it might show the information related to its version, build, modules etc. This is a security issue since you are giving away the details about your web server. for example, take a look at this:&lt;br /&gt; &lt;br /&gt;Server: Apache/2.0.53 (Ubuntu) PHP/4.3.10-10ubuntu4 Server at xx.xx.xx.xx Port 80&lt;br /&gt;The line in the server header expose important version and variant information about the Linux operating system and Apache software used on the machine, indirectly expose the possible security holes that are existed to the hackers, or at least make malicious attackers easier to identify your system for available attack points.&lt;br /&gt;To ensure that the Apache HTTP web server does not broadcast this message to the whole world publicly and fix possible security issue, modify these two directives ServerTokes and ServerSignature in httpd.conf configuration file.&lt;br /&gt; &lt;br /&gt;ServerTokens&lt;br /&gt;&lt;br /&gt;This directive configures what you return as the Server HTTP response Header. The built-in default is ‘Full’ which sends information about the OS-type and compiled in modules.  The recommended value is ‘Prod’ which sends the least information.&lt;br /&gt;&lt;br /&gt;Options:  Full | OS | Minor | Minimal | Major | Prod&lt;br /&gt;&lt;br /&gt;“ServerTokens Prod”&lt;br /&gt;&lt;br /&gt;This configures Apache to return only Apache as product in the server response header on very page request, suppressing OS, major and minor version info.&lt;br /&gt;&lt;br /&gt;ServerSignature&lt;br /&gt;&lt;br /&gt;This directive lets you add a line containing the server version and virtual host name to server-generated pages. It is recommended to set it to OFF and Set to "EMail" to also include a mailto: link to the ServerAdmin.&lt;br /&gt;&lt;br /&gt;Options: On | Off | EMail&lt;br /&gt;&lt;br /&gt;“ServerSignature Off”&lt;br /&gt;&lt;br /&gt;This instructs Apache not to display a trailing footer line under server-generated documents, which displays server version number, ServerName of the serving virtual host, email setting etc..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://josephamrithraj.wordpress.com/2010/09/16/advanced-ssl-configuration-on-ibm-http-server-restrict-unused-http-methods-and-verbose-http-headers/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-6474912327034010468?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/6474912327034010468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=6474912327034010468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6474912327034010468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6474912327034010468'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/11/advanced-ssl-configuration-on-ibm-http_01.html' title='Advanced SSL configuration on IBM Http Server – Restrict unused HTTP methods and Verbose HTTP headers'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-3620045450892390356</id><published>2011-11-01T21:59:00.000-07:00</published><updated>2011-11-01T21:59:10.751-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='websphere'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>Advanced SSL configuration on IBM Http Server – Client Authentication and Ciphers</title><content type='html'>The Advanced SSL Configuration settings are&lt;br /&gt;&lt;br /&gt;Client Authentication&lt;br /&gt;Setting Ciphers&lt;br /&gt;SSL for multiple IP virtual Hosts&lt;br /&gt;Client Authentication:&lt;br /&gt;&lt;br /&gt;If you enable client authentication, the server validates clients by checking for trusted certificate authority, Known as CA root certificates in the local key database. To enable client authentication, you need to use SSLClientAuth directive. The options to use with this stanza are:&lt;br /&gt;&lt;br /&gt;None – The server requests no client certificate from the client.&lt;br /&gt;Optional – The server requests, but does not require, a client certificate. If presented, the client certificate must prove valid.&lt;br /&gt;Required – The server requires a valid certificate from all clients and returns a 403 status code if no certificate is present.&lt;br /&gt;Required_reset – The server requires a valid certificate from all clients, and if no certificate is available, the server sends an SSL alert to the client. This enables the client to understand that the SSL failure is client-certificate related, and will cause browsers to re-prompt for client certificate information on subsequent access. make sure you have GSKit version 7.0.4.19 or later when you choose this option.&lt;br /&gt;For example, If i want all the clients to be authenticated, then i need to add the following stanza&lt;br /&gt;SSLClientAuth required&lt;br /&gt;&lt;br /&gt;Ciphers&lt;br /&gt;&lt;br /&gt;We set the cipher specification to use during secure transactions. The specified cipher specifications validate against the level of the Global Security Kit (GSK) toolkit that is installed on your system. Invalid cipher specifications cause an error to log in the error log. If the client issuing the request does not support the ciphers specified, the request fails and the connection closes to the client. IBM HTTP Server has a built-in list of cipher specifications to use for communicating with clients over Secure Sockets Layer (SSL).  The actual cipher specification that is used for a particular client connection is selected from those which are supported by both IBM HTTP Server and the client.&lt;br /&gt;&lt;br /&gt;Some cipher specifications provide a weaker level of security than others, and might need to be avoided for security reasons. Some of the stronger cipher specifications are more computationally intensive than weaker cipher specifications and might be avoided if required for performance reasons. When an SSL connection is established, the client (web browser) and the web server negotiate the cipher to use for the connection. The web server has an ordered list of ciphers, and the first cipher in that list which is supported by the client will be selected.&lt;br /&gt;&lt;br /&gt;IBM HTTP Server supports the following SSL ciphers: SSLv3 and TLS and SSLv2&lt;br /&gt;&lt;br /&gt;IBM recommends the following setting, keeping in mind both strong security and performance&lt;br /&gt;&lt;br /&gt;  ## SSLv3 128 bit Ciphers&lt;br /&gt;  SSLCipherSpec SSL_RSA_WITH_RC4_128_MD5&lt;br /&gt;  SSLCipherSpec SSL_RSA_WITH_RC4_128_SHA&lt;br /&gt;&lt;br /&gt;  ## FIPS approved SSLV3 and TLSv1 128 bit AES Cipher&lt;br /&gt;  SSLCipherSpec TLS_RSA_WITH_AES_128_CBC_SHA&lt;br /&gt;&lt;br /&gt;  ## FIPS approved SSLV3 and TLSv1 256 bit AES Cipher&lt;br /&gt;  SSLCipherSpec TLS_RSA_WITH_AES_256_CBC_SHA&lt;br /&gt;&lt;br /&gt;  ## Triple DES 168 bit Ciphers&lt;br /&gt;  ## These can still be used, but only if the client does&lt;br /&gt;  ## not support any of the ciphers listed above.&lt;br /&gt;  SSLCipherSpec SSL_RSA_WITH_3DES_EDE_CBC_SHA&lt;br /&gt;&lt;br /&gt;  ## The following block enables SSLv2. Excluding it in the presence of&lt;br /&gt;  ## the SSLv3 configuration above disables SSLv2 support.&lt;br /&gt;&lt;br /&gt;  ## Uncomment to enable SSLv2 (with 128 bit Ciphers)&lt;br /&gt;  #SSLCipherSpec SSL_RC4_128_WITH_MD5&lt;br /&gt;  #SSLCipherSpec SSL_RC4_128_WITH_SHA&lt;br /&gt;  #SSLCipherSpec SSL_DES_192_EDE3_CBC_WITH_MD5&lt;br /&gt;View the Ciphers which the server uses for Secure transactions&lt;br /&gt;&lt;br /&gt;Set the LogLevel to info in the configuration file. Look in the error log for messages in this format: TimeStamp info_message mod_ibm_ssl: Using Version 2/3 Cipher: longname|shortname. The order that the cipher specifications are displayed in the error log from top to bottom represents the attempted order of the cipher specifications.&lt;br /&gt;&lt;br /&gt;View the Ciphers were used for negotiating a connection&lt;br /&gt;&lt;br /&gt;You can use the following LogFormat directive to view and log the SSL cipher negotiated for each connection:&lt;br /&gt;&lt;br /&gt;LogFormat “%h %l %u %t \”%r\” %&gt;s %b \”SSL=%{HTTPS}e\” \”%{HTTPS_CIPHER}e\” \”%{HTTPS_KEYSIZE}e\” \”%{HTTPS_SECRETKEYSIZE}e\”" ssl_common&lt;br /&gt;&lt;br /&gt;CustomLog logs/ssl_cipher.log ssl_common&lt;br /&gt;&lt;br /&gt;This logformat will produce an output to the ssl_cipher.log that looks something like this:&lt;br /&gt;&lt;br /&gt;127.0.0.1 – - [01/Sep/2010:00:02:05 -0800] “GET / HTTP/1.1″ 200 1582 “SSL=ON” “SSL_RSA_WITH_RC4_128_MD5″ “128″ “128″&lt;br /&gt;&lt;br /&gt;SSL for multiple IP virtual hosts&lt;br /&gt;&lt;br /&gt;When you do not define an SSL directive on a virtual host, the server uses the directive default. You can define different (SSL) options for various virtual hosts. To enable SSL:&lt;br /&gt;&lt;br /&gt;Specify the SSLEnable directive on the virtual host stanza in the configuration file, to enable SSL for a virtual host.&lt;br /&gt;Specify a Keyfile directive and&lt;br /&gt;Any SSL directives you want enabled for that particular virtual host.&lt;br /&gt;Restart the server.&lt;br /&gt;With all the above security options enabled, your virtual host may look like this:&lt;br /&gt;&lt;br /&gt;&lt;VirtualHost *:443&gt;&lt;br /&gt;&lt;br /&gt;SSLEnable&lt;br /&gt;&lt;br /&gt;Keyfile keyfile.kdb&lt;br /&gt;&lt;br /&gt;SSLCientAuth required&lt;br /&gt;&lt;br /&gt;## SSLv3 128 bit Ciphers&lt;br /&gt;&lt;br /&gt;SSLCipherSpec SSL_RSA_WITH_RC4_128_MD5&lt;br /&gt;&lt;br /&gt;SSLCipherSpec SSL_RSA_WITH_RC4_128_SHA&lt;br /&gt;&lt;br /&gt;## FIPS approved SSLV3 and TLSv1 128 bit AES Cipher&lt;br /&gt;&lt;br /&gt;SSLCipherSpec TLS_RSA_WITH_AES_128_CBC_SHA&lt;br /&gt;&lt;br /&gt;## FIPS approved SSLV3 and TLSv1 256 bit AES Cipher&lt;br /&gt;&lt;br /&gt;SSLCipherSpec TLS_RSA_WITH_AES_256_CBC_SHA&lt;br /&gt;&lt;br /&gt;## Triple DES 168 bit Ciphers&lt;br /&gt;&lt;br /&gt;## These can still be used, but only if the client does not support any of the ciphers listed above.&lt;br /&gt;&lt;br /&gt;SSLCipherSpec SSL_RSA_WITH_3DES_EDE_CBC_SHA&lt;br /&gt;&lt;br /&gt;## The following block enables SSLv2.&lt;br /&gt;## Excluding it in the presence of  the SSLv3 configuration above disables SSLv2 support.&lt;br /&gt;&lt;br /&gt;## Uncomment to enable SSLv2 (with 128 bit Ciphers)&lt;br /&gt;&lt;br /&gt;#SSLCipherSpec SSL_RC4_128_WITH_MD5&lt;br /&gt;&lt;br /&gt;#SSLCipherSpec SSL_RC4_128_WITH_SHA&lt;br /&gt;&lt;br /&gt;#SSLCipherSpec SSL_DES_192_EDE3_CBC_WITH_MD5&lt;br /&gt;&lt;br /&gt;&lt;/VirtualHost&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://josephamrithraj.wordpress.com/2010/09/04/advanced-ssl-configuration-on-ibm-http-server-client-authentication-and-ciphers/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-3620045450892390356?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/3620045450892390356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=3620045450892390356' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3620045450892390356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3620045450892390356'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/11/advanced-ssl-configuration-on-ibm-http.html' title='Advanced SSL configuration on IBM Http Server – Client Authentication and Ciphers'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-110269993998489078</id><published>2011-10-24T08:57:00.000-07:00</published><updated>2011-10-24T08:57:24.015-07:00</updated><title type='text'>Virtual Users with SAML in WebLogic</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt; A small blogpost how you can use virtual users on your SAML Service  Provider WebLogic Server. A virtual user is a user who is authenticated  on the SAML Identity Provider and this user is transfered ( with all his  attributes and roles ) &amp;nbsp;in a SAML Token to the Service Provider, this  user does not need to exists on the WebLogic server of the Service  Provider.&lt;br /&gt;Before you can use this feature you need to setup SAML 2.0 SSO on your WebLogic Domain. You can follow &lt;a href="http://biemond.blogspot.com/2009/09/sso-with-weblogic-1031-and-saml2.html"&gt;this blogpost&lt;/a&gt; for all the instructions. You can also do this with Web Services but then you need to follow&lt;a href="http://biemond.blogspot.com/2011/08/do-saml-with-owsm.html"&gt; this guide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;First we need to enable &lt;b&gt;Generate Attributes&lt;/b&gt; on the Identity Provider Side.&lt;br /&gt;Go to the myrealm security realm -&amp;gt; &amp;nbsp;Providers -&amp;gt; Credentials  Mapping -&amp;gt; your SAML 2.0 Credential Mapping Provider -&amp;gt; Provider  Specific.&lt;br /&gt;Also do this on the imported Service Provider Partner located at the  Management tab of your&amp;nbsp;SAML 2.0 Credential Mapping Provider. Open  the&amp;nbsp;Service Provider Partner and also enable here&amp;nbsp;&lt;b&gt;Generate Attributes&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Next step is to configure the SAML Service Provider.&lt;br /&gt;Go to the myrealm security realm -&amp;gt; &amp;nbsp;Providers -&amp;gt;&amp;nbsp;&amp;nbsp;Authentication  -&amp;gt; your SAML 2.0 Identity Assertion Provider -&amp;gt; Management Tab. &lt;br /&gt;Open your imported Identity Provider Partner configuration.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt; &lt;a href="http://3.bp.blogspot.com/-nSOSWB-qwU0/TnudObofusI/AAAAAAAAEXE/0aedEJxKxVM/s1600/Screen+Shot+2011-09-22+at+10.39.54+PM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://3.bp.blogspot.com/-nSOSWB-qwU0/TnudObofusI/AAAAAAAAEXE/0aedEJxKxVM/s640/Screen+Shot+2011-09-22+at+10.39.54+PM.png" width="572" /&gt;&lt;/a&gt;&lt;/div&gt;Enable&lt;b&gt; Virtual User&lt;/b&gt; and also enable &lt;b&gt;Process Attributes&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Now we need to add an extra WebLogic SAML Authentication Provider. This  provider will process the virtual user SAML token with all its  attributes and roles.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt; &lt;a href="http://1.bp.blogspot.com/-XQvlJzNIiWk/Tnue40HNxcI/AAAAAAAAEXI/XJ49SzyIUqA/s1600/Screen+Shot+2011-09-22+at+10.47.12+PM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="338" src="http://1.bp.blogspot.com/-XQvlJzNIiWk/Tnue40HNxcI/AAAAAAAAEXI/XJ49SzyIUqA/s400/Screen+Shot+2011-09-22+at+10.47.12+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Set the Control Flag to Sufficient also change the other authentication provider from Required to Sufficient.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Courtesy:http://biemond.blogspot.com/2011/09/virtual-users-with-saml-in-weblogic.html&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-110269993998489078?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/110269993998489078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=110269993998489078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/110269993998489078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/110269993998489078'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/10/virtual-users-with-saml-in-weblogic.html' title='Virtual Users with SAML in WebLogic'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-nSOSWB-qwU0/TnudObofusI/AAAAAAAAEXE/0aedEJxKxVM/s72-c/Screen+Shot+2011-09-22+at+10.39.54+PM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-4212831888985754494</id><published>2011-10-24T08:56:00.000-07:00</published><updated>2011-10-24T08:56:12.102-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='websphere'/><title type='text'>How to collect performance data on Linux</title><content type='html'>Collect the following information when high CPU consumption is with IBM Java process:&lt;br /&gt;Enable garbage collection trace to see whether Java garbage collection is thrashing if possible. If you want to enable Java garbage collection trace on IBM WebSphere Application Server, please refer to the following document: Enabling verbose garbage collection (verbosegc) in WebSphere application Server&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Run the following command:&lt;br /&gt;&lt;br /&gt;top -d delaytime -c -b &gt; top.log&lt;br /&gt;&lt;br /&gt;Where delaytime is the number of seconds to delay. This must be 60 seconds or greater, depending on how soon the failure is expected.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Create a script file, vmstat.sh with the following content:&lt;br /&gt;&lt;br /&gt;#vmstat.sh&lt;br /&gt;#output file name&lt;br /&gt;VMSTAT_LOG=$1&lt;br /&gt;LIMIT=288&lt;br /&gt;#sleep for 5 miniutes&lt;br /&gt;SLEEP_TIME=300&lt;br /&gt;while true&lt;br /&gt;do&lt;br /&gt;i=0&lt;br /&gt;echo &gt;$VMSTAT_LOG&lt;br /&gt;while [ $i -le "$LIMIT" ];&lt;br /&gt;do&lt;br /&gt;date &gt;&gt; $VMSTAT_LOG;&lt;br /&gt;vmstat 5 12 &gt;&gt; $VMSTAT_LOG;&lt;br /&gt;i=`expr $i + 1`;&lt;br /&gt;sleep $SLEEP_TIME;&lt;br /&gt;done&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;Create a script, ps.sh with the following content:&lt;br /&gt;&lt;br /&gt;#ps.sh&lt;br /&gt;#output file name&lt;br /&gt;PS_LOG=$1&lt;br /&gt;LIMIT=288&lt;br /&gt;#sleep for 5 miniutes&lt;br /&gt;SLEEP_TIME=300&lt;br /&gt;while true&lt;br /&gt;do&lt;br /&gt;i=0&lt;br /&gt;echo &gt;$PS_LOG&lt;br /&gt;while [ $i -le "$LIMIT" ];&lt;br /&gt;do&lt;br /&gt;date &gt;&gt; $PS_LOG;&lt;br /&gt;ps -eLf &gt;&gt; $PS_LOG;&lt;br /&gt;i=`expr $i + 1`;&lt;br /&gt;sleep $SLEEP_TIME;&lt;br /&gt;done&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;Run the scripts:&lt;br /&gt;&lt;br /&gt;./ps.sh ps_eLf.log&lt;br /&gt;./vmstat.sh vmstat.log&lt;br /&gt;&lt;br /&gt;Notes: . The scripts ps.sh and vmstat.sh, as provided, roll over every 24 hours. . You might need to modify the scripts to meet your needs. . The preceding scripts will run forever. After the error condition is reached, you will have to terminate them.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When high CPU consumption occurs, collect the following logs:&lt;br /&gt;&lt;br /&gt;netstat -an &gt; netstat1.out&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If the Web server is remote, run the following on the Web server system:&lt;br /&gt;&lt;br /&gt;netstat -an &gt; netstatwebserver1.out&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Run the following:&lt;br /&gt;&lt;br /&gt;kill -3 [PID_of_problem_JVM]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The kill -3 commands create javacore*.txt files&lt;br /&gt;&lt;br /&gt;Note: If you are not able to determine which JVM process is experiencing the high CPU usage then you should issue the kill -3 PID for each of the JVM processes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Wait two minutes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Run the following:&lt;br /&gt;&lt;br /&gt;kill -3 [PID_of_problem_JVM]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Wait two minutes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Run the following:&lt;br /&gt;&lt;br /&gt;kill -3 [PID_of_problem_JVM]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Wait two minutes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Run the following:&lt;br /&gt;&lt;br /&gt;netstat -an &gt; netstat2.out&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If the Web server is remote, run the following on the Web server system:&lt;br /&gt;&lt;br /&gt;netstat -an &gt; netstatwebserver2.out&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you are unable to generate javacore files, then perform the following:&lt;br /&gt;&lt;br /&gt;kill -11 [PID_of_problem_JVM]&lt;br /&gt;&lt;br /&gt;WARNING: kill -11 will terminate the JVM process, produce a core file, and possibly a javacore.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Review all output files and collect the following files for IBM Performance Analysis Tool for Java for Linux&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ps_eLf.log&lt;br /&gt;javacore*.txt files &lt;br /&gt;&lt;br /&gt;Courtesy:http://wasissues.blogspot.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-4212831888985754494?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/4212831888985754494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=4212831888985754494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4212831888985754494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4212831888985754494'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/10/how-to-collect-performance-data-on.html' title='How to collect performance data on Linux'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-5920183843149920118</id><published>2011-10-24T08:46:00.000-07:00</published><updated>2011-10-24T08:46:33.594-07:00</updated><title type='text'>Configuring OpenLDAP as a SiteMinder Policy Store</title><content type='html'>SiteMinder supports OpenLDAP for use as a Policy Store. OpenLDAP provides a freely available, replicated directory that can be used as a redundant store for SiteMinder’s configuration information. Unfortunately, the SiteMinder documentation covering how to configure OpenLDAP is at best incomplete and at worst incorrect. This article breaks down the steps required to enable OpenLDAP to be a Policy Store and configure the Policy Server to leverage the directory. Keep in mind that SiteMinder currently only supports OpenLDAP 2.3.x. This means that only Master/Slave replication is supported. While this is sufficient to ensure the availability of the Policy Store, if the Master directory is down, no policy or key updates can be performed. This article also assumes that the Key Store is set to the default setting of using the Policy Store as the location to store key information. Switch the directory paths outlined below to use backslashes if these steps are being performed on Windows.&lt;br /&gt;&lt;br /&gt;1. Download and Install OpenLDAP&lt;br /&gt;This article does not cover the specific details on how to build and install OpenLDAP. The details for this can be found on the OpenLDAP site. A quick start guide is located there as well.&lt;br /&gt;&lt;br /&gt;2. Download the OpenLDAP Schema Files for SiteMinder&lt;br /&gt;OpenLDAP is considered a “Tier 2″ directory for SiteMinder. As such, the ability to configure the directory as a Policy Store is not automated. In order to obtain the needed schema files for the Policy Store, the “CA SiteMinder Tier 2 Directories- ESD Only” package must be downloaded. To download this file (current as of 10/12/2011):&lt;br /&gt;&lt;br /&gt;   1. Log in to the Technical Support Site&lt;br /&gt;   2. Click “Download Center” in the lefthand navigation&lt;br /&gt;   3. Type siteminder into the “Select a Product” field&lt;br /&gt;   4. Select the listed SiteMinder product&lt;br /&gt;   5. Select 12.0 in the “Select a Release” drop-down&lt;br /&gt;   6. Select SP3 in the “Select a Gen level” drop-down&lt;br /&gt;   7. Click the [GO] button&lt;br /&gt;   8. Scroll down to the bottom of the list of returned downloads&lt;br /&gt;   9. Download and unzip the “CA SiteMinder Tier 2 Directories- ESD Only” download to the Policy Server&lt;br /&gt;&lt;br /&gt;3. Configure OpenLDAP To Support the SiteMinder Policy Store&lt;br /&gt;The OpenLDAP server requires manual configuration to support its use as a SiteMinder Policy Store. The following steps are required:&lt;br /&gt;&lt;br /&gt;3a. Copy the Policy Store schema files into the OpenLDAP schema directory&lt;br /&gt;3b. Include the SiteMinder Policy Store schema files in the OpenLDAP configuration&lt;br /&gt;3c. Ensure that SiteMinder can detect it is an OpenLDAP Policy Store&lt;br /&gt;3d. Create the base Policy Store structure&lt;br /&gt;3e. Restart OpenLDAP&lt;br /&gt;&lt;br /&gt;Note that these instructions assume that the install location for OpenLDAP is under the /usr/local path and the default directories are used. For this example, the root of the directory is “dc=company,dc=com” for the location of the Policy Store. These steps will need to be modified if a different path or directory structure is used.&lt;br /&gt;&lt;br /&gt;3a. Copy the Policy Store schema files into the OpenLDAP schema directory&lt;br /&gt;The OpenLDAP schema needs to be extended to support the SiteMinder Policy Store objects. This is done by copying the schema files to the server and adding them into the slapd.conf configuration file. To copy the schema files:&lt;br /&gt;.........&lt;br /&gt;&lt;a href="http://www.coreblox.com/blog/2011/10/configuring-openldap-as-a-siteminder-policy-store/" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://www.coreblox.com/blog/2011/10/configuring-openldap-as-a-siteminder-policy-store/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-5920183843149920118?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/5920183843149920118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=5920183843149920118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/5920183843149920118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/5920183843149920118'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/10/configuring-openldap-as-siteminder.html' title='Configuring OpenLDAP as a SiteMinder Policy Store'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8731480292427760496</id><published>2011-10-04T17:56:00.001-07:00</published><updated>2011-10-14T05:08:05.145-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Siteminder'/><title type='text'>SiteMinder federation to SharePoint 2010</title><content type='html'>This paper shows how to configure identity federation between CA SiteMinder and Microsoft SharePoint 2010, using the CA Federation Manager Add-on for SiteMinder. Two scenarios are presented. The first is an intra-organizational scenario that is useful where SiteMinder, the user accounts, and SharePoint are all maintained within the enterprise. The second is a traditional identity federation scenario where the user accounts are maintained outside of the enterprise hosting SharePoint. A federated identity environment features the following advantages:&lt;br /&gt;&lt;br /&gt;· Helps control Information Technology (IT) costs and gain efficiencies. Federation targets areas that require lots of manual processes such as user account management, and access management. These manual processes are the focus of cost control.&lt;br /&gt;&lt;br /&gt;· Enables compliance with expanding regulatory requirements. A standards-based identity federation can increase security of websites and portals and enable an organization to identify and authenticate a user only once. The organization can then use that identity information to access multiple systems which can include websites of external partners and various portals.&lt;br /&gt;&lt;br /&gt;While both scenarios create a federated identity environment, the techniques or methodology used in the two lab scenarios is different. The two lab scenarios are:&lt;br /&gt;&lt;br /&gt;1. Lab scenario 1 - Intra-organization scenario. In this lab scenario, SiteMinder is the Trusted Identity Provider for SharePoint and authenticates users to one or more user directories maintained within the organization. Once authenticated, these users (which may be employees, partners or customers) can access SharePoint as well as other applications protected by SiteMinder. This lab scenario uses the CA Federation Manager Add-on to SiteMinder (a.k.a., SiteMinder Federation Security Services) to generate a WS-Federation 1.0 token that is in turn read by SharePoint 2010.&lt;br /&gt;&lt;br /&gt;2. Lab scenario 2 - Cross-organization, traditional Federation scenario. In this lab scenario, SiteMinder is deployed at the external partner organization, along with the CA Federation Manager Add-on, and Microsoft AD FS 2.0 is deployed within the enterprise where SharePoint is hosted. SiteMinder authenticates the partners to the partner organization's user directory and generates a SAML 2.0 token. AD FS 2.0, which acts as a security token service, translates the SAML 2.0 token into a WS-Federation token for use with SharePoint. In this lab scenario, we also configure SharePoint's native claims-based Windows provider to illustrate how employees within the enterprise could access SharePoint alongside partners who use the federated approach (The claims-based Windows provider is listed along with the other Identity Providers configured in ADFS 2.0, in the lab it is identified with as ADFSMachine.CompanyA.com).&lt;br /&gt;&lt;br /&gt;Courtesy:http://interopvendoralliance.org/labs/siteminder-federation-to-sharepoint-2010.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8731480292427760496?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8731480292427760496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8731480292427760496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8731480292427760496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8731480292427760496'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/10/siteminder-federation-to-sharepoint.html' title='SiteMinder federation to SharePoint 2010'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-2946113514442768825</id><published>2011-10-04T17:54:00.000-07:00</published><updated>2011-10-04T17:54:28.375-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CA Siteminder'/><title type='text'>SiteMinder Overview</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;CA SiteMinder is enterprise level web access management software which allows organizations to manage their web users and help control their access to applications, portals and web services.&lt;br /&gt;&lt;br /&gt;SiteMinder consists of two core components:&lt;br /&gt;&lt;br /&gt;Policy Server:&lt;br /&gt;&lt;br /&gt;The Policy Server provides policy management, authentication, authorization, and accounting.&lt;br /&gt;&lt;br /&gt;SiteMinder Agents: &lt;br /&gt;&lt;br /&gt;Integrated with a standard Web server or application server, SiteMinder Agents enable SiteMinder to manage access to Web applications and content according to predefined security policies.&lt;br /&gt;&lt;br /&gt;How CA SiteMinder Works:&lt;br /&gt;&lt;br /&gt;The process for securely accessing web applications:&lt;br /&gt;&lt;br /&gt;1. User attempts to access a protected resource.&lt;br /&gt;&lt;br /&gt;2. User is challenged for credentials and presents them to the CA SiteMinder web agent or to the Secure Proxy Server.&lt;br /&gt;&lt;br /&gt;3. The user’s credentials are passed to the Policy Server.&lt;br /&gt;&lt;br /&gt;4. The user is authenticated against the appropriate user store.&lt;br /&gt;&lt;br /&gt;5. The Policy Server evaluates the user’s entitlements and grants access.&lt;br /&gt;&lt;br /&gt;6. User profile and entitlement information is passed to the application.&lt;br /&gt;&lt;br /&gt;7. The user gets access to the secured application, which delivers customized content.&lt;br /&gt;&lt;br /&gt;Courtesy:&lt;b&gt;http://webspheresolution.wordpress.com/2011/09/29/siteminder-overview/&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-2946113514442768825?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/2946113514442768825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=2946113514442768825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2946113514442768825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2946113514442768825'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/10/siteminder-overview.html' title='SiteMinder Overview'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-7872878997898655290</id><published>2011-10-04T12:11:00.000-07:00</published><updated>2011-10-04T12:11:13.785-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><title type='text'>Earn Money With iPhone Apps</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;h4&gt;                                                             &lt;a href="http://zzzzz.cash4apps.hop.clickbank.net/" target="_blank"&gt;Earn Money With iPhone Apps&lt;/a&gt;                                                                                                                                                                                                                                                    &lt;/h4&gt;&lt;div class="description" style="font-family: &amp;quot;Helvetica Neue&amp;quot;,Arial,Helvetica,sans-serif;"&gt;The most comprehensive guide to  creating lucrative iPhone applications (apps for short). Our guide  explains how to create new iPhone apps and get them listed on the Apple  iPhone App Store. Profit from iPhones now!&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://26e91wv1rgl-6wi2mfsscluo17.hop.clickbank.net/" target="_blank"&gt;Click Here to find more about it&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-7872878997898655290?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/7872878997898655290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=7872878997898655290' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7872878997898655290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7872878997898655290'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/10/earn-money-with-iphone-apps.html' title='Earn Money With iPhone Apps'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-6793689612591907114</id><published>2011-10-03T19:32:00.000-07:00</published><updated>2011-10-04T09:17:06.421-07:00</updated><title type='text'>How To Create iPhone Apps With No Programming Experience</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="post-body entry-content" id="post-body-703543855846217700" style="color: #222222; font-family: Arial,Tahoma,Helvetica,FreeSans,sans-serif; font-size: 13px; line-height: 1.4; position: relative; width: 590px;"&gt;&lt;h4 style="color: black; font-family: Verdana; font-size: 9pt; font-weight: normal; margin: 0px; padding: 3px 0px; position: relative;"&gt;&lt;a href="http://zzzzz.freetheapp.hop.clickbank.net/" style="color: #bd1e2c; cursor: pointer; font-family: Verdana; text-decoration: none;" target="_blank"&gt;How To Create iPhone Apps With No Programming Experience&lt;/a&gt;&lt;span style="font-family: Verdana;"&gt;&lt;/span&gt;&lt;/h4&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="description" style="font-family: Verdana;"&gt;Discover how to create iPhone apps easily with no programming experienced required. Learn from some of the top iPhone app developers to get your app created now.&lt;/div&gt;&lt;br /&gt;&lt;a href="http://2b9894yfr8roh2e162isj3go-5.hop.clickbank.net/" style="color: #249fa3; text-decoration: none;" target="_blank"&gt;Click Here to find more&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-6793689612591907114?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/6793689612591907114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=6793689612591907114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6793689612591907114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6793689612591907114'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/10/how-to-create-iphone-apps-with-no.html' title='How To Create iPhone Apps With No Programming Experience'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-6824310052611426352</id><published>2011-08-10T13:13:00.002-07:00</published><updated>2011-08-10T13:13:48.073-07:00</updated><title type='text'>Finding a quality server cabinet for less online</title><content type='html'>If you run a business that relies on computers then you will be well aware of how important it is to have a good contact that can deal with any computer issues you have. If any parts fail in your computer system it is imperative that you are able to get the replacement parts you need quickly and easily with plenty of choice too. It’s not always easy to do this, so to help yourself in the future you should work on finding a website that can service all your needs. If you find a decent site then you can go back to it and back to it, knowing that you will be able to solve your problems quickly and easily.&lt;br /&gt;&lt;br /&gt;Finding the right site depends largely on what your system requires, but if you have things like a &lt;a href="http://www.microbite.co.uk/categories/racking.htm"&gt;server cabinet&lt;/a&gt; that might need changing from time to time, it is important that you find a site which is able to give you plenty of options. A server cabinet can be expensive, but there are some sites which will offer new, used and refurbished parts, meaning you can save a bit of money on occasions.&lt;br /&gt;&lt;br /&gt;Some sites are fantastic both for sourcing the more unusual parts and keeping in stock the parts that you require more frequently. You should look out for companies who keep a ready stock of things like &lt;a href="http://www.microbite.co.uk/categories/network.htm"&gt;Netgear routers&lt;/a&gt;, because this is the sort of thing that you are going to need sent out the very next day, so stock is important in this respect.&lt;br /&gt;&lt;br /&gt;To find the right sort of site you it is best to search for something like &lt;a href="http://www.microbite.co.uk/"&gt;computer parts UK&lt;/a&gt; to make sure you end up with a company that is based closely. Otherwise, you could find that you are subject to very expensive delivery fees. Look for companies that will source parts for you even if they don't have a stock of them themselves, and try to make sure that the site you find is able to deliver quickly and cheaply and able to offer you plenty of options when it comes to buying computer parts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-6824310052611426352?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/6824310052611426352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=6824310052611426352' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6824310052611426352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6824310052611426352'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/08/finding-quality-server-cabinet-for-less.html' title='Finding a quality server cabinet for less online'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-289928485737980014</id><published>2011-08-10T13:13:00.000-07:00</published><updated>2011-08-10T13:13:07.463-07:00</updated><title type='text'>Finding a broadband comparison service online</title><content type='html'>If you are thinking of finding a new broadband connection then by far and away the best and easiest way to do it is to search for one online. Firstly of all, it is cheaper to buy a broadband deal online. Because it is cheaper for companies to be set up on the net it means their overheads are lesser, so you can expect a better deal. You will also find that there is far more choice online, which makes things easier for you. &lt;br /&gt;&lt;br /&gt;Of course, with all of this choice comes another problem in itself. You will find it difficult to narrow things down so that you can choose the right deal! The best way to get around this problem is to use a &lt;a href="http://www.broadbandchoices.co.uk/using-a-broadband-comparison-service.html"&gt;broadband comparison service&lt;/a&gt; on the internet. These sites make searching for broadband deals so much easier. You will be able to look at a range of different broadband deals next to each other so that you can really see which is the most valuable. &lt;br /&gt;&lt;br /&gt;Another good thing to do is to try to piece together your broadband contract with your home phone contract and you satellite television contract. Doing this normally leads to some sort of discount on all three, and you can still search for comparison sites so that you can look at these deals alongside one another. To find out about &lt;a href="http://www.broadbandchoices.co.uk/digital-tv-and-broadband-bundle-guide.html"&gt;broadband phone and digital TV&lt;/a&gt; deals you should also search for the review sites online so that you can get the reviews of the best ones. for instance if you are thinking of signing up to a deal with Sky, you should be looking for a &lt;a href="http://www.broadbandchoices.co.uk/sky-broadband-reviews.html"&gt;Sky broadband review&lt;/a&gt; site so you can find out how they perform in terms of their customer service. Just take your time making your decision, and make sure you know exactly what you are signing up for, before you sign up for it!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-289928485737980014?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/289928485737980014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=289928485737980014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/289928485737980014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/289928485737980014'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/08/finding-broadband-comparison-service.html' title='Finding a broadband comparison service online'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-5453847744177740817</id><published>2011-05-26T08:41:00.000-07:00</published><updated>2011-05-26T08:41:34.261-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CA Identity MANAGER'/><title type='text'>CA Identity Manager High Availability &amp; JBoss Clustering</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;CA Identity Manager 12.x uses caching for transactions. The utilization of this feature can cause synchronization issues if the application is setup in a high availability mode without application server clustering.&lt;br /&gt;&lt;br /&gt;An example I can give is a project I was involved with using JBoss as the CA IdM application server. As such I will be addressing JBoss clustering in this entry.&lt;br /&gt;&lt;br /&gt;JBoss uses a Hypersonic database to manage internal JMS data (JMS Queues). JBoss uses the JMS queues for tracking tasks and processes within the application. It is recommended to use a shared MS SQL database for the JMS database. There are documents available online which explain how to migrate from Hypersonic to MS SQL. In my example we opted to use the same MS SQL infrastructure used by Identity Manager to house the JMS database. In simplified terms, the steps to accomplish to clustering of IdM on JBoss is as follows:&lt;br /&gt;&lt;br /&gt;1. Create a new SQL database (JBOSS_JMS)&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;2. Create a user/owner for this DB (jbossjms)&lt;br /&gt;3. Migrate JBoss to SQL from the Hypersonic DB&lt;br /&gt;4. Bring all services back up and test to ensure the migration was successful&lt;br /&gt;5. Follow the procedures in the IdM documentation to configure JBoss clustering&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.idmworks.com/blog/ca-identity-manager-high-availability-jboss-clustering" target="_blank"&gt;More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://www.idmworks.com/blog/ca-identity-manager-high-availability-jboss-clustering&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-5453847744177740817?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/5453847744177740817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=5453847744177740817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/5453847744177740817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/5453847744177740817'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/05/ca-identity-manager-high-availability.html' title='CA Identity Manager High Availability &amp; JBoss Clustering'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8170138618668537166</id><published>2011-05-26T08:34:00.000-07:00</published><updated>2011-05-26T08:35:54.397-07:00</updated><title type='text'>Oracle Fusion Stack 11g Install Videos</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;ul&gt;&lt;li&gt;Oracle Identity Manger 11g&lt;/li&gt;&lt;li&gt;Oracle Access Manager 11g&lt;/li&gt;&lt;li&gt;Oracle Adaptive Access Manager 11g&lt;/li&gt;&lt;li&gt;Oracle Identity Federation 11g&lt;/li&gt;&lt;li&gt;Oracle Internet Directory 11g&lt;/li&gt;&lt;li&gt;Oracle Virtual Directory 11g&lt;/li&gt;&lt;li&gt;Oracle HTTP Server&lt;/li&gt;&lt;li&gt;Oracle Directory Integration Platform 11g&lt;/li&gt;&lt;li&gt;Oracle WebLogic Server 11g&lt;/li&gt;&lt;li&gt;Oracle Database 11gR2&lt;/li&gt;&lt;li&gt;Oracle Identity Navigator 11g&lt;/li&gt;&lt;li&gt;Oracle Authorization Policy Manager&lt;/li&gt;&lt;li&gt;Oracle Platform Security Services&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://idmrockstar.com/blog/2011/04/part-1-installing-oracle-enterprise-linux-5-update-3-on-vmware/" title="Installing Oracle Enterprise Linux 5 Update 3"&gt;Installing Oracle Enterprise Linux 5 Update 3 on VMWare&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://idmrockstar.com/blog/2011/04/part-2-installing-and-configuring-oracle-database-11g-revision-2-11gr2/" title="Installing and Configuring Oracle Database 11g Revision 2 (11gR2)"&gt;Installing and Configuring Oracle Database 11g Revision 2 (11gR2)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://idmrockstar.com/blog/2011/04/part-3-installing-weblogic-server-11gr1-10-3-3/" title="Installing WebLogic Server 11gR1 (10.3.3)"&gt;Installing WebLogic Server 11gR1 (10.3.3)&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://idmrockstar.com/blog/2011/04/oracle-fusion-stack-11g-install-videos/"&gt;More Here &lt;/a&gt;&lt;br /&gt;&lt;ol&gt;Courtesy:http://idmrockstar.com/blog/2011/04/oracle-fusion-stack-11g-install-videos/&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8170138618668537166?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8170138618668537166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8170138618668537166' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8170138618668537166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8170138618668537166'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/05/oracle-fusion-stack-11g-install-videos.html' title='Oracle Fusion Stack 11g Install Videos'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8171470593484944485</id><published>2011-05-05T13:30:00.001-07:00</published><updated>2011-05-05T13:30:59.835-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Identity Manager'/><title type='text'>Configuring Design Console for OIM 11g</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt; In OIM 11g, Design Console still is a required tool for system configuration, custom development and customization. But differently from OIM 9.x, Design Console 11g does not have its own installer anymore. It is installed and configured along with the OIM server installation.&lt;br /&gt;&lt;br /&gt;One of the common questions around Design Console 11g is: if there is no installer anymore, how do I get it working on my desktop/laptop without installing the whole Identity and Access Management pack?&lt;br /&gt;&lt;br /&gt;This is an easy task and this post&amp;nbsp;describes the steps for getting it done:&lt;br /&gt;&lt;br /&gt;1. If you don't have a JDK 1.6 in your laptop, you will have to install it.&lt;br /&gt;&lt;br /&gt;2.&amp;nbsp;Run the configuration script for OIM once again. The script is available at $IAM_HOME/bin (where IAM_HOME is the folder where the ‘Identity and Access Management Pack’ was installed). You have to run the ‘config.sh’ that is available at $IAM_HOME/bin folder and NOT the one available at ‘$IAM_HOME/common/bin/config.sh’&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;3.&amp;nbsp;In the configuration wizard, select ‘Design Console’ checkbox ONLY.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-SGB0ao2zfBU/Tbn2NGQGllI/AAAAAAAAAA4/l6JcTt3Tqoc/s1600/Screenshot3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="272px" j8="true" src="http://3.bp.blogspot.com/-SGB0ao2zfBU/Tbn2NGQGllI/AAAAAAAAAA4/l6JcTt3Tqoc/s400/Screenshot3.png" width="400px" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;4.&amp;nbsp;In the next screen, enter the OIM server host and port name. The wizard will configure the Design Console files for you &lt;br /&gt;Courtesy:http://fusionsecurity.blogspot.com/&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8171470593484944485?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8171470593484944485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8171470593484944485' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8171470593484944485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8171470593484944485'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/05/configuring-design-console-for-oim-11g.html' title='Configuring Design Console for OIM 11g'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-SGB0ao2zfBU/Tbn2NGQGllI/AAAAAAAAAA4/l6JcTt3Tqoc/s72-c/Screenshot3.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-7734738289616002570</id><published>2011-04-28T10:33:00.000-07:00</published><updated>2011-04-28T10:48:09.922-07:00</updated><title type='text'>GralicWrap Anti-Phising Software</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="mediumtext"&gt;&lt;span class="mediumtext"&gt;&lt;b&gt;&lt;a href="http://www.gralicwrap.com/"&gt;GralicWrap&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Phishing scam artist send official-looking emails with authentic looking logos from valid organizations and companies and other identifying email information taken directly from genuine Webpages.&lt;br /&gt;&lt;br /&gt;These authentic emails are an attempt to get you to sign in and gain your password and login information.  Electronic mail is one of the top methods of identity theft.&lt;br /&gt;&lt;br /&gt;To allow these phishing messages in email form, look even more real life, the scam / phisher will position a link so that the link looks like it will to the genuine Webpage, but it in reality it takes you to a counterfeit scam website or possibly a popup box will appear that looks identically, resembling the official site.&lt;br /&gt;&lt;br /&gt;You can stop phishing scams with a good and effective Gralicwrap &lt;a href="http://www.gralicwrap.com/"&gt;anti-phishing software&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Anti Phishing, delete spam, viruses and other unwanted emails right at the server.  &lt;a href="http://www.gralicwrap.com/"&gt;Gralicwrap&lt;/a&gt; learns from good and bad spam using the good filter method to effectively block and stop spam.&lt;br /&gt;&lt;br /&gt;Gralicwrap &lt;a href="http://www.gralicwrap.com/"&gt;anti phishing software&lt;/a&gt; is made up of computer programs which will attempt to identify the phishing content that may be contained in a website or email that has been sent to you. This software is normally to be found as an integrated tool within web browsers and email servers and will display the real name of the domain for the website that you are visiting. In doing this it is hoped it will prevent sites which are fraudulent from being able to masquerade as ones that are actually legitimate. Today such a function may well be included as a built in feature of a lot of web browsers.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-7734738289616002570?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/7734738289616002570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=7734738289616002570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7734738289616002570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7734738289616002570'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/gralicwrap-review.html' title='GralicWrap Anti-Phising Software'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-3287857485504784020</id><published>2011-04-25T16:04:00.001-07:00</published><updated>2011-04-25T16:05:10.748-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JBOSS'/><title type='text'>SAML EJB Integration with PicketLink STS</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In this document we show how to use PicketLink STS to validate SAML assertions and authenticate EJB clients.&lt;br /&gt;Required software: JDK 6, PicketLink version 1.0.3 or superior. (Feature available starting 1.0.3.CR2)&lt;br /&gt;&lt;h3&gt;Process Overview&lt;/h3&gt;The following picture illustrates the process of using SAML assertions to authenticate clients of EJB applications:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://community.jboss.org/servlet/JiveServlet/showImage/102-14981-11-2360/saml-sts-module.png"&gt;&lt;img alt="saml-sts-module.png" class="jive-image" height="208" src="http://community.jboss.org/servlet/JiveServlet/downloadImage/102-14981-11-2360/367-208/saml-sts-module.png" width="367" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The  client must first obtain the SAML assertion from PicketLink STS by  sending a WS-Trust request to the token service. This process usually  involves authentication of the client. After obtaining the SAML  assertion from the STS, the client includes the assertion in the  security context of the EJB request before invoking an operation on the  bean. Upon receiving the invocation, the EJB container extracts the  assertion and validates it by sending a WS-Trust validate message to the  STS. If the assertion is considered valid by the STS (and the proof of  possession token has been verified if needed), the client is  authenticated.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;On JBoss, the SAML assertion validation process is handled by the &lt;span style="font-family: courier new,courier;"&gt;SAML2STSLoginModule&lt;/span&gt;. It reads properties from a configurable file (specified by the &lt;span style="font-family: courier new,courier;"&gt;configFile&lt;/span&gt;  option) and establishes communication with the STS based on these  properties. We will see how a configuration file looks like later on. If  the assertion is valid, a &lt;span style="font-family: courier new,courier;"&gt;Principal&lt;/span&gt;  is created using the assertion subject name and if the assertion  contains roles, these roles are also extracted and associated with the  caller's &lt;span style="font-family: courier new,courier;"&gt;Subject&lt;/span&gt;.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;EJB3 Integration Example&lt;/h3&gt;In  this section we present a sample EJB3 application that authenticates  clients by validating their SAML assertions with PicketLink STS. The  deployments for both the EJB3 application and the STS can be found  attached in this document.&lt;br /&gt;&lt;h4&gt;EJB3 Sample App&lt;/h4&gt;Our EJB3 application consists of a simple stateless session bean. The session interface can be seen bellow:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-java"&gt;&lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt; * JBoss, Home of Professional Open Source.&lt;br /&gt; * Copyright 2010, Red Hat Middleware LLC, and individual contributors&lt;br /&gt; * as indicated by the @author tags. See the copyright.txt file in the&lt;br /&gt; * distribution for a full listing of individual contributors. &lt;br /&gt; *&lt;br /&gt; * This is free software; you can redistribute it and/or modify it&lt;br /&gt; * under the terms of the GNU Lesser General Public License as&lt;br /&gt; * published by the Free Software Foundation; either version 2.1 of&lt;br /&gt; * the License, or (at your option) any later version.&lt;br /&gt; *&lt;br /&gt; * This software is distributed in the hope that it will be useful,&lt;br /&gt; * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU&lt;br /&gt; * Lesser General Public License for more details.&lt;br /&gt; *&lt;br /&gt; * You should have received a copy of the GNU Lesser General Public&lt;br /&gt; * License along with this software; if not, write to the Free&lt;br /&gt; * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&lt;br /&gt; * 02110-1301 USA, or see the FSF site: http://www.fsf.org.&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/span&gt; org.jboss.test.security.ejb3;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.security.Principal;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt; * &lt;br /&gt; * This is the remote interface of session beans used in the EJB3 security tests.&lt;br /&gt; * &lt;br /&gt;* &lt;br /&gt; * @author &lt;a href="mailto:sguilhen@redhat.com"&gt;Stefan Guilhen&lt;/a&gt;&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;interface&lt;/b&gt;&lt;/span&gt; SimpleSession&lt;br /&gt;&lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * This is a method available for regular users and administrators. Implementations must annotate either the class or&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * this method with {@code @RolesAllowed({"RegularUser", "Administrator"})} to enforce that only these roles should&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * be granted access to this method.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return the caller's {@code Principal}.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeRegularMethod();&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * This is a method available for administrators only. Implementations must annotate either the class or this method&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * with {@code @RolesAllowed({"Administrator"})} to enforce that only administrators should be granted access to&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * this method.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return the caller's {@code Principal}.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeAdministrativeMethod();&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * This is a method available for all authenticated users, regardless or role. Implementations must annotate this&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * method with {@code @PermitAll} to specify that all security roles should be granted access.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return the caller's {@code Principal}.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeUnprotectedMethod();&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * This is a method that is unavailable for everybody. Implementations must annotate this method with&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * {@code @DenyAll} to specify that access should be restricted for everybody.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return the caller's {@code Principal}.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeUnavailableMethod();&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;And this is the implementation class:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-java"&gt;&lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt; * JBoss, Home of Professional Open Source.&lt;br /&gt; * Copyright 2010, Red Hat Middleware LLC, and individual contributors&lt;br /&gt; * as indicated by the @author tags. See the copyright.txt file in the&lt;br /&gt; * distribution for a full listing of individual contributors. &lt;br /&gt; *&lt;br /&gt; * This is free software; you can redistribute it and/or modify it&lt;br /&gt; * under the terms of the GNU Lesser General Public License as&lt;br /&gt; * published by the Free Software Foundation; either version 2.1 of&lt;br /&gt; * the License, or (at your option) any later version.&lt;br /&gt; *&lt;br /&gt; * This software is distributed in the hope that it will be useful,&lt;br /&gt; * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU&lt;br /&gt; * Lesser General Public License for more details.&lt;br /&gt; *&lt;br /&gt; * You should have received a copy of the GNU Lesser General Public&lt;br /&gt; * License along with this software; if not, write to the Free&lt;br /&gt; * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&lt;br /&gt; * 02110-1301 USA, or see the FSF site: http://www.fsf.org.&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/span&gt; org.jboss.test.security.ejb3;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.security.Principal;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.annotation.Resource;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.annotation.security.DenyAll;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.annotation.security.PermitAll;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.annotation.security.RolesAllowed;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.ejb.Remote;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.ejb.SessionContext;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.ejb.Stateless;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt; * &lt;br /&gt; * Stateless session bean implementation used in the EJB3 security tests.&lt;br /&gt; * &lt;br /&gt;* &lt;br /&gt; * @author &lt;a href="mailto:sguilhen@redhat.com"&gt;Stefan Guilhen&lt;/a&gt;&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;@Stateless&lt;br /&gt;@Remote(SimpleSession.class)&lt;br /&gt;@RolesAllowed(&lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;span style="color: red;"&gt;"RegularUser"&lt;/span&gt;, &lt;span style="color: red;"&gt;"Administrator"&lt;/span&gt;&lt;span style="color: navy;"&gt;}&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/span&gt; SimpleStatelessSessionBean &lt;span style="color: navy;"&gt;&lt;b&gt;implements&lt;/b&gt;&lt;/span&gt; SimpleSession&lt;br /&gt;&lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; @Resource&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;private&lt;/b&gt;&lt;/span&gt; SessionContext context;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (non-Javadoc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @see org.jboss.test.security.ejb3.SimpleSession#invokeRegularMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeRegularMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// this method allows the same roles as the class.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt; this.context.getCallerPrincipal();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (non-Javadoc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @see org.jboss.test.security.ejb3.SimpleSession#invokerAdministrativeMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; @RolesAllowed(&lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;span style="color: red;"&gt;"Administrator"&lt;/span&gt;&lt;span style="color: navy;"&gt;}&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeAdministrativeMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// this method overrides the roles defined by the class to grant access to admnistrators only.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt; this.context.getCallerPrincipal();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (non-Javadoc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @see org.jboss.test.security.ejb3.SimpleSession#invokeUnprotectedMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; @PermitAll&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeUnprotectedMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// this method overrides the roles defined by the class to grant access to all roles.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt; this.context.getCallerPrincipal();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (non-Javadoc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @see org.jboss.test.security.ejb3.SimpleSession#invokeUnavailableMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; @DenyAll&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeUnavailableMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// this method should never be called - it overrides the class roles to deny access to all roles.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt; this.context.getCallerPrincipal();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The session defines four methods: &lt;span style="font-family: courier new,courier;"&gt;invokeRegularMethod&lt;/span&gt; (available to both Administrators and RegularUsers), &lt;span style="font-family: courier new,courier;"&gt;invokeAdministrativeMethod&lt;/span&gt; (available to Administrators only), &lt;span style="font-family: courier new,courier;"&gt;invokeUnprotectedMethod&lt;/span&gt;&amp;nbsp; (available to all authenticated clients), and &lt;span style="font-family: courier new,courier;"&gt;invokeUnavailableMethod&lt;/span&gt; (annotated with &lt;span style="font-family: courier new,courier;"&gt;@DenyAll &lt;/span&gt;and thus unavailable to all roles).&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;Besides the sample session classes, our &lt;span style="font-family: courier new,courier;"&gt;ejb3-sampleapp.jar&lt;/span&gt; contains the application policy definition for the EJBs:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-xml"&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;deployment xmlns="urn:jboss:bean-deployer:2.0"&gt;&lt;/deployment&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-comment"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;application-policy name="ejb3-sampleapp" xmlns="urn:jboss:security-beans:1.0"&gt;&lt;/application-policy&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;authentication&gt;&lt;/authentication&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;login-module code="org.picketlink.identity.federation.bindings.jboss.auth.SAML2STSLoginModule" flag="required"&gt;&lt;/login-module&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;module-option name="password-stacking"&gt;&lt;/module-option&gt;&lt;/span&gt;useFirstPass&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;module-option name="configFile"&gt;&lt;/module-option&gt;&lt;/span&gt;sts-config.properties&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required"&gt;&lt;/login-module&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;module-option name="password-stacking"&gt;&lt;/module-option&gt;&lt;/span&gt;useFirstPass&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;module-option name="usersProperties"&gt;&lt;/module-option&gt;&lt;/span&gt;ejb3-sampleapp-users.properties&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;module-option name="rolesProperties"&gt;&lt;/module-option&gt;&lt;/span&gt;ejb3-sampleapp-roles.properties&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The policy defines two login modules: &lt;span style="font-family: courier new,courier;"&gt;SAML2STSLoginModule&lt;/span&gt; and &lt;span style="font-family: courier new,courier;"&gt;UsersRolesLoginModule&lt;/span&gt;.  The first will be responsible for validating the assertion with the STS  in order to authenticate the client, while the second will be  responsible for retrieving the client's roles from a properties file. In  order to validate the SAML assertions, &lt;span style="font-family: courier new,courier;"&gt;SAML2STSLoginModule&lt;/span&gt; needs information about the STS, like its endpoint URL, service name, port name, etc. This information is supplied by the &lt;span style="font-family: courier new,courier;"&gt;sts-config.properties&lt;/span&gt; file:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;serviceName=PicketLinkSTS&lt;br /&gt;portName=PicketLinkSTSPort&lt;br /&gt;endpointAddress=http://localhost:8080/picketlink-sts-1.0.0/PicketLinkSTS&lt;br /&gt;username=JBoss&lt;br /&gt;password=JBoss&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The  last two properties specify the username and password that will be used  to authenticate the JBoss server to the STS when the WS-Trust validate  message is dispatched. In other words, &lt;span style="font-family: courier new,courier;"&gt;SAML2STSLoginModule&lt;/span&gt;  needs to authenticate to the STS when validating the SAML assertions  and these properties specify the username and password that will be used  for that.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;In our sample applications we will have three users (UserA, UserB, UserC), each with different roles. The &lt;span style="font-family: courier new,courier;"&gt;ejb3-sampleapp-roles.properties&lt;/span&gt; file specifies the roles that have been assigned to each user:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;UserA=RegularUser,Administrator&lt;br /&gt;UserB=RegularUser&lt;br /&gt;UserC=Guest&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;As we can see, UserA is both a RegularUser and Administrator, so he should be able to call all methods except for &lt;span style="font-family: courier new,courier;"&gt;invokeUnavailableMethod&lt;/span&gt;. UserB is a RegularUser, so he should be able call &lt;span style="font-family: courier new,courier;"&gt;invokeRegularMethod&lt;/span&gt; and &lt;span style="font-family: courier new,courier;"&gt;invokeUnprotectedMethod&lt;/span&gt; methods. UserC is a Guest and should be able to invoke only the unprotected method of our sample EJB.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;For the sake of completeness, here we can see the jboss.xml file of our &lt;span style="font-family: courier new,courier;"&gt;ejb3-sampleapp.jar&lt;/span&gt;:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-xml"&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-quote"&gt;-//JBoss//DTD JBOSS 5.0//EN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-quote"&gt;&lt;a class="jive-link-external-small" href="http://www.jboss.org/j2ee/dtd/jboss_5_0.dtd" target="_blank"&gt;http://www.jboss.org/j2ee/dtd/jboss_5_0.dtd&lt;/a&gt;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;jboss&gt;&lt;/jboss&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;security-domain&gt;&lt;/security-domain&gt;&lt;/span&gt;java:/jaas/ejb3-sampleapp&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;All the configuration files can be found in the &lt;b&gt;ejb3-sampleapp.jar&lt;/b&gt; that has been attached to this document.&lt;br /&gt;&lt;h4&gt;PicketLink STS&lt;/h4&gt;Our PicketLink STS application is a tweaked version of the &lt;span style="font-family: courier new,courier;"&gt;picketink-sts.war&lt;/span&gt;  file that is available in the PicketLink project downloads page. More  specifically, we created a new security domain for the STS in &lt;span style="font-family: courier new,courier;"&gt;jboss-web.xml&lt;/span&gt;, included an application policy for the new domain that uses the &lt;span style="font-family: courier new,courier;"&gt;UsersRolesLoginModule&lt;/span&gt; to authenticate STS clients, included the users and roles properties files,&amp;nbsp; and changed the required role in &lt;span style="font-family: courier new,courier;"&gt;web.xml&lt;/span&gt; to STSClient.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;This is the content of the STS &lt;span style="font-family: courier new,courier;"&gt;web.xml&lt;/span&gt;:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-xml"&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-quote"&gt;-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-quote"&gt;&lt;a class="jive-link-external-small" href="http://java.sun.com/dtd/web-app_2_3.dtd" target="_blank"&gt;http://java.sun.com/dtd/web-app_2_3.dtd&lt;/a&gt;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;web-app&gt;&lt;/web-app&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;servlet&gt;&lt;/servlet&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;servlet-name&gt;&lt;/servlet-name&gt;&lt;/span&gt;PicketLinkSTS&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;servlet-class&gt;&lt;/servlet-class&gt;&lt;/span&gt;org.picketlink.identity.federation.core.wstrust.PicketLinkSTS&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;servlet-mapping&gt;&lt;/servlet-mapping&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;servlet-name&gt;&lt;/servlet-name&gt;&lt;/span&gt;PicketLinkSTS&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;url-pattern&gt;&lt;/url-pattern&gt;&lt;/span&gt;/*&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;security-constraint&gt;&lt;/security-constraint&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;web-resource-collection&gt;&lt;/web-resource-collection&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;web-resource-name&gt;&lt;/web-resource-name&gt;&lt;/span&gt;TokenService&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;url-pattern&gt;&lt;/url-pattern&gt;&lt;/span&gt;/*&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;http-method&gt;&lt;/http-method&gt;&lt;/span&gt;GET&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;http-method&gt;&lt;/http-method&gt;&lt;/span&gt;POST&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;auth-constraint&gt;&lt;/auth-constraint&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;role-name&gt;&lt;/role-name&gt;&lt;/span&gt;STSClient&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;login-config&gt;&lt;/login-config&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;auth-method&gt;&lt;/auth-method&gt;&lt;/span&gt;BASIC&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;realm-name&gt;&lt;/realm-name&gt;&lt;/span&gt;PicketLinkSTSRealm&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;security-role&gt;&lt;/security-role&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;role-name&gt;&lt;/role-name&gt;&lt;/span&gt;STSClient&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;STS callers must all have the &lt;span style="font-family: courier new,courier;"&gt;STSClient&lt;/span&gt; role in order to send a WS-Trust request to the STS.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The STS security domain is specified by the &lt;span style="font-family: courier new,courier;"&gt;jboss-web.xml&lt;/span&gt; file:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-xml"&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;jboss-web&gt;&lt;/jboss-web&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;security-domain&gt;&lt;/security-domain&gt;&lt;/span&gt;java:/jaas/sts-domain&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The application policy for the &lt;span style="font-family: courier new,courier;"&gt;sts-domain&lt;/span&gt; is defined in the &lt;span style="font-family: courier new,courier;"&gt;sts-jboss-beans.xml&lt;/span&gt; file:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-xml"&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;deployment xmlns="urn:jboss:bean-deployer:2.0"&gt;&lt;/deployment&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-comment"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;application-policy name="sts-domain" xmlns="urn:jboss:security-beans:1.0"&gt;&lt;/application-policy&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;authentication&gt;&lt;/authentication&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required"&gt;&lt;/login-module&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;module-option name="usersProperties"&gt;&lt;/module-option&gt;&lt;/span&gt;sts-users.properties&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;module-option name="rolesProperties"&gt;&lt;/module-option&gt;&lt;/span&gt;sts-roles.properties&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The &lt;span style="font-family: courier new,courier;"&gt;sts-users.properties&lt;/span&gt; specify the username/passwords of the STS callers:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;JBoss=JBoss&lt;br /&gt;UserA=PassA&lt;br /&gt;UserB=PassB&lt;br /&gt;UserC=PassC&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The &lt;span style="font-family: courier new,courier;"&gt;sts-roles.properties&lt;/span&gt; specify the roles of the STS callers:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;JBoss=STSClient&lt;br /&gt;UserA=STSClient&lt;br /&gt;UserB=STSClient&lt;br /&gt;UserC=STSClient&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;Notice  that the JBoss user represents the JBoss server during the SAML  validation process. All other users are the clients of the EJB3 sample  application - they send a message to the STS to acquire a SAML assertion  before calling the methods on the EJB3 application.&lt;br /&gt;&lt;h4&gt;Client Application&lt;/h4&gt;The &lt;span style="font-family: courier new,courier;"&gt;SAMLEJB3IntegrationTest&lt;/span&gt;  shows what happens when each of the users (UserA, UserB, and UserC)  acquire a SAML assertion from PicketLinkSTS and invoke all methods on  the sample EJB3. Let's take a look at the code:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-java"&gt;&lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt; * JBoss, Home of Professional Open Source Copyright 2009, Red Hat Middleware&lt;br /&gt; * LLC, and individual contributors by the @authors tag. See the copyright.txt&lt;br /&gt; * in the distribution for a full listing of individual contributors.&lt;br /&gt; * &lt;br /&gt; * This is free software; you can redistribute it and/or modify it under the&lt;br /&gt; * terms of the GNU Lesser General Public License as published by the Free&lt;br /&gt; * Software Foundation; either version 2.1 of the License, or (at your option)&lt;br /&gt; * any later version.&lt;br /&gt; * &lt;br /&gt; * This software is distributed in the hope that it will be useful, but WITHOUT&lt;br /&gt; * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS&lt;br /&gt; * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more&lt;br /&gt; * details.&lt;br /&gt; * &lt;br /&gt; * You should have received a copy of the GNU Lesser General Public License&lt;br /&gt; * along with this software; if not, write to the Free Software Foundation,&lt;br /&gt; * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF&lt;br /&gt; * site: http://www.fsf.org.&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/span&gt; test;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.security.Principal;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.util.Hashtable;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.ejb.EJBAccessException;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.naming.Context;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.naming.InitialContext;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.rmi.PortableRemoteObject;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.jboss.security.client.SecurityClient;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.jboss.security.client.SecurityClientFactory;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.jboss.test.security.ejb3.SimpleSession;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.picketlink.identity.federation.api.wstrust.WSTrustClient;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.picketlink.identity.federation.api.wstrust.WSTrustClient.SecurityInfo;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.picketlink.identity.federation.core.wstrust.SamlCredential;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.picketlink.identity.federation.core.wstrust.WSTrustException;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.picketlink.identity.federation.core.wstrust.plugins.saml.SAMLUtil;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.w3c.dom.Element;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt; * &lt;br /&gt; * This class tests the usage of SAML assertions to authenticate clients of EJB3 applications on JBoss. This is&lt;br /&gt; * accomplished by having the client first obtain a SAML assertion from the PicketLink STS service and then use&lt;br /&gt; * the assertion as the credential when calling the protected EJB3.&lt;br /&gt; * &lt;br /&gt;* &lt;br /&gt; * The protected EJB3 application used in this test has configured the {@code SAML2STSLoginModule}. This login&lt;br /&gt; * module sends the SAML assertion to the STS for validation in order to authenticate the caller. A second login&lt;br /&gt; * module, {@code UsersRolesLoginModule}, has been used to provide the client's roles.&lt;br /&gt; * &lt;br /&gt;* &lt;br /&gt; * @author &lt;a href="mailto:sguilhen@redhat.com"&gt;Stefan Guilhen&lt;/a&gt;&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/span&gt; SAMLEJB3IntegrationTest&lt;br /&gt;&lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;private&lt;/b&gt;&lt;/span&gt; Hashtable&lt;string, object=""&gt; env;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; main(String[] args) &lt;span style="color: navy;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; Exception&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAMLEJB3IntegrationTest test = &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; SAMLEJB3IntegrationTest();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test.testSAMLEJB3Integration(&lt;span style="color: red;"&gt;"UserA"&lt;/span&gt;, &lt;span style="color: red;"&gt;"PassA"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test.testSAMLEJB3Integration(&lt;span style="color: red;"&gt;"UserB"&lt;/span&gt;, &lt;span style="color: red;"&gt;"PassB"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test.testSAMLEJB3Integration(&lt;span style="color: red;"&gt;"UserC"&lt;/span&gt;, &lt;span style="color: red;"&gt;"PassC"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; SAMLEJB3IntegrationTest()&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// initialize the JNDI env that will be used to lookup the test EJB.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.env = &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; Hashtable&lt;string, object=""&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.env.put(&lt;span style="color: red;"&gt;"java.naming.factory.initial"&lt;/span&gt;, &lt;span style="color: red;"&gt;"org.jnp.interfaces.NamingContextFactory"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.env.put(&lt;span style="color: red;"&gt;"java.naming.factory.url.pkgs"&lt;/span&gt;, &lt;span style="color: red;"&gt;"org.jboss.naming:org.jnp.interfaces"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.env.put(&lt;span style="color: red;"&gt;"java.naming.provider.url"&lt;/span&gt;, &lt;span style="color: red;"&gt;"localhost:1099"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; testSAMLEJB3Integration(String username, String password) &lt;span style="color: navy;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; Exception&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// create a WSTrustClient instance.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WSTrustClient client = &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; WSTrustClient(&lt;span style="color: red;"&gt;"PicketLinkSTS"&lt;/span&gt;, &lt;span style="color: red;"&gt;"PicketLinkSTSPort"&lt;/span&gt;, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: red;"&gt;"http://localhost:8080/picketlink-sts-1.0.0/PicketLinkSTS"&lt;/span&gt;, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; SecurityInfo(username, password));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// issue a SAML assertion using the client API.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Element assertion = &lt;span style="color: navy;"&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"\nInvoking token service to get SAML assertion for "&lt;/span&gt; + username);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertion = client.issueToken(SAMLUtil.SAML2_TOKEN_TYPE);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"SAML assertion for "&lt;/span&gt; + username + &lt;span style="color: red;"&gt;" successfully obtained!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; (WSTrustException wse)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"Unable to issue assertion: "&lt;/span&gt; + wse.getMessage());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wse.printStackTrace();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.exit(1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// use the SecurityClient API to set the assertion in the client security context.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SecurityClient securityClient = SecurityClientFactory.getSecurityClient();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; securityClient.setSimple(username, &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; SamlCredential(assertion));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; securityClient.login();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// invoke the EJB3 bean - the assertion will be propagated with the security context.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(username + &lt;span style="color: red;"&gt;" invoking secure EJB3 session bean"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Context context = &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; InitialContext(env);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object object = context.lookup(&lt;span style="color: red;"&gt;"SimpleStatelessSessionBean/remote"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleSession session = (SimpleSession) PortableRemoteObject.narrow(object, SimpleSession.class);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// invoke method that requires the Administrator role.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Principal principal = session.invokeAdministrativeMethod();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(principal.getName() + &lt;span style="color: red;"&gt;" successfully called administrative method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; (EJBAccessException eae)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(username + &lt;span style="color: red;"&gt;" is not authorized to call administrative method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// invoke method that requires the RegularUser role.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Principal principal = session.invokeRegularMethod();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(principal.getName() + &lt;span style="color: red;"&gt;" successfully called regular method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; (EJBAccessException eae)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(username + &lt;span style="color: red;"&gt;" is not authorized to call regular method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// invoke method that allows all roles.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Principal principal = session.invokeUnprotectedMethod();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(principal.getName() + &lt;span style="color: red;"&gt;" successfully called unprotected method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; (EJBAccessException eae)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// this should never happen as long as the user has successfully authenticated.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(username + &lt;span style="color: red;"&gt;" is not authorized to call unprotected method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// invoke method that denies access to all roles.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Principal principal = session.invokeUnavailableMethod();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// this should never happen because the method should deny access to all roles.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(principal.getName() + &lt;span style="color: red;"&gt;" successfully called unavailable method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; (EJBAccessException eae)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(username + &lt;span style="color: red;"&gt;" is not authorized to call unavailable method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;/string,&gt;&lt;/string,&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;As we can see, the assertion is first obtained using the &lt;span style="font-family: courier new,courier;"&gt;WSTrustClient&lt;/span&gt; API. Once the assertion has been acquired, we use the &lt;span style="font-family: courier new,courier;"&gt;SecurityClient&lt;/span&gt;  API to&amp;nbsp; push it to the client-side security context. Then we attempt to  call all methods on the sample EJB3 session and print the results of  these calls.&lt;br /&gt;&lt;h4&gt;Deploying and Running the EJB3 Sample Application on JBoss AS5&lt;/h4&gt;In  order to get the sample application running you must first install the  PicketLink jar files on JBoss. This is accomplished by copying &lt;span style="font-family: courier new,courier;"&gt;picketlink-fed-1.0.3.jar&lt;/span&gt; and &lt;span style="font-family: courier new,courier;"&gt;picketlink-bindings-jboss-1.0.3.jar&lt;/span&gt; (both attached in this document) files to the &lt;span style="font-family: courier new,courier;"&gt;JBOSS_HOME/server/partition/lib&lt;/span&gt; folder. After installing the required PicketLink libs you must copy the &lt;span style="font-family: courier new,courier;"&gt;ejb3-sampleapp.jar&lt;/span&gt; and &lt;span style="font-family: courier new,courier;"&gt;picketlink-sts-1.0.0.war&lt;/span&gt; to &lt;span style="font-family: courier new,courier;"&gt;JBOSS_HOME/server/partition/deploy&lt;/span&gt;.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;After  copying the required PicketLink jars and deploying the sample  application and the STS war, start your JBoss partition. If everything  is ok, you should see something like the following in the log:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;21:02:10,099 INFO&amp;nbsp; [SessionSpecContainer] Starting jboss.j2ee:jar=ejb3-sampleapp.jar,name=SimpleStatelessSessionBean,service=EJB3&lt;br /&gt;21:02:10,108 INFO&amp;nbsp; [EJBContainer] STARTED EJB: org.jboss.test.security.ejb3.SimpleStatelessSessionBean ejbName: SimpleStatelessSessionBean&lt;br /&gt;21:02:10,152 INFO&amp;nbsp; [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleStatelessSessionBean/remote - EJB3.x Default Remote Business Interface&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleStatelessSessionBean/remote-org.jboss.test.security.ejb3.SimpleSession - EJB3.x Remote Business Interface&lt;br /&gt;&lt;br /&gt;21:02:10,306 INFO&amp;nbsp; [TomcatDeployment] deploy, ctxPath=/&lt;br /&gt;21:02:11,375 INFO&amp;nbsp; [WSDLFilePublisher] WSDL published to: file:/opt/workspace-jboss/jbossas-trunk/build/target/jboss-6.0.0-SNAPSHOT/server/default/data/wsdl/picketlink-sts-1.0.0.war/PicketLinkSTS.wsdl&lt;br /&gt;21:02:11,482 INFO&amp;nbsp; [DefaultEndpointRegistry] register: jboss.ws:context=picketlink-sts-1.0.0,endpoint=PicketLinkSTS&lt;br /&gt;21:02:11,543 INFO&amp;nbsp; [TomcatDeployment] deploy, ctxPath=/picketlink-sts-1.0.0&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;In order to compile the sample client application, you need to have &lt;span style="font-family: courier new,courier;"&gt;ejb3-sampleapp.jar&lt;/span&gt;, &lt;span style="font-family: courier new,courier;"&gt;picketlink-fed-1.0.3.jar&lt;/span&gt; (both attached in this document), and &lt;span style="font-family: courier new,courier;"&gt;jbossall-client.jar&lt;/span&gt; (found in &lt;span style="font-family: courier new,courier;"&gt;JBOSS_HOME/client&lt;/span&gt;) in your classpath. If using an IDE like Eclipse, all jars referenced by &lt;span style="font-family: courier new,courier;"&gt;jbossall-client.jar&lt;/span&gt; &lt;span style="font-family: courier new,courier;"&gt; &lt;/span&gt; will be automatically included in the classpath. If not, you may need to add these jars manually.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;In order to run the client, all you have to do is specify the aforementioned classpath:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;java -cp CLASSPATH test.SAMLEJB3IntegrationTest&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;If everything has been configured and deployed properly, you should see the following output:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;Invoking token service to get SAML assertion for UserA&lt;br /&gt;SAML assertion for UserA successfully obtained!&lt;br /&gt;UserA invoking secure EJB3 session bean&lt;br /&gt;UserA successfully called administrative method!&lt;br /&gt;UserA successfully called regular method!&lt;br /&gt;UserA successfully called unprotected method!&lt;br /&gt;UserA is not authorized to call unavailable method!&lt;br /&gt;&lt;br /&gt;Invoking token service to get SAML assertion for UserB&lt;br /&gt;SAML assertion for UserB successfully obtained!&lt;br /&gt;UserB invoking secure EJB3 session bean&lt;br /&gt;UserB is not authorized to call administrative method!&lt;br /&gt;UserB successfully called regular method!&lt;br /&gt;UserB successfully called unprotected method!&lt;br /&gt;UserB is not authorized to call unavailable method!&lt;br /&gt;&lt;br /&gt;Invoking token service to get SAML assertion for UserC&lt;br /&gt;SAML assertion for UserC successfully obtained!&lt;br /&gt;UserC invoking secure EJB3 session bean&lt;br /&gt;UserC is not authorized to call administrative method!&lt;br /&gt;UserC is not authorized to call regular method!&lt;br /&gt;UserC successfully called unprotected method!&lt;br /&gt;UserC is not authorized to call unavailable method!&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;As we can see, each user had access to the expected methods. Authentication was performed by the &lt;span style="font-family: courier new,courier;"&gt;SAML2STSLoginModule&lt;/span&gt;, which validated the supplied assertion with PicketLink STS, and the roles were provided by the &lt;span style="font-family: courier new,courier;"&gt;UsersRolesLoginModule&lt;/span&gt;.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;EJB2 Integration Example&lt;/h3&gt;In this section we present the EJB2 version of the sample application (&lt;b&gt;ejb2-sampleapp.jar&lt;/b&gt;  which can be found attached to this document).&amp;nbsp; The sample session bean  performs the same operations as in the EJB3 example, but let's take a  look at the classes anyway.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The remote and home interfaces look as follows:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-java"&gt;&lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt; * JBoss, Home of Professional Open Source.&lt;br /&gt; * Copyright 2010, Red Hat Middleware LLC, and individual contributors&lt;br /&gt; * as indicated by the @author tags. See the copyright.txt file in the&lt;br /&gt; * distribution for a full listing of individual contributors. &lt;br /&gt; *&lt;br /&gt; * This is free software; you can redistribute it and/or modify it&lt;br /&gt; * under the terms of the GNU Lesser General Public License as&lt;br /&gt; * published by the Free Software Foundation; either version 2.1 of&lt;br /&gt; * the License, or (at your option) any later version.&lt;br /&gt; *&lt;br /&gt; * This software is distributed in the hope that it will be useful,&lt;br /&gt; * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU&lt;br /&gt; * Lesser General Public License for more details.&lt;br /&gt; *&lt;br /&gt; * You should have received a copy of the GNU Lesser General Public&lt;br /&gt; * License along with this software; if not, write to the Free&lt;br /&gt; * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&lt;br /&gt; * 02110-1301 USA, or see the FSF site: http://www.fsf.org.&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/span&gt; org.jboss.test.security.ejb2;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.rmi.RemoteException;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.security.Principal;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.ejb.EJBObject;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt; * &lt;br /&gt; * This is the remote interface of the session bean used in the EJB2 SAML security test.&lt;br /&gt; * &lt;br /&gt;* &lt;br /&gt; * @author &lt;a href="mailto:sguilhen@redhat.com"&gt;Stefan Guilhen&lt;/a&gt;&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;interface&lt;/b&gt;&lt;/span&gt; SimpleEJB2Session &lt;span style="color: navy;"&gt;&lt;b&gt;extends&lt;/b&gt;&lt;/span&gt; EJBObject&lt;br /&gt;&lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * This is a method available for regular users and administrators. The deployment descriptor must enforce that&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * only users in RegularUser or Administrator roles are granted access to this method.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return the caller's {@code Principal}.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeRegularMethod() &lt;span style="color: navy;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; RemoteException;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * This is a method available for administrators only. The deployment descriptor must enforce that only users in the&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Administrator role are granted access to this method.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return the caller's {@code Principal}.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeAdministrativeMethod() &lt;span style="color: navy;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; RemoteException;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * This is a method available for all authenticated users, regardless or role. The deployment descriptor must&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * contain an {@code unchecked} element for this method.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return the caller's {@code Principal}.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeUnprotectedMethod() &lt;span style="color: navy;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; RemoteException;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * This is a method that is unavailable for all roles. The deployment descriptor must add this method to the&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * {@code exclude-list} element.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return the caller's {@code Principal}.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeUnavailableMethod() &lt;span style="color: navy;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; RemoteException;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-java"&gt;&lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt; * JBoss, Home of Professional Open Source.&lt;br /&gt; * Copyright 2010, Red Hat Middleware LLC, and individual contributors&lt;br /&gt; * as indicated by the @author tags. See the copyright.txt file in the&lt;br /&gt; * distribution for a full listing of individual contributors. &lt;br /&gt; *&lt;br /&gt; * This is free software; you can redistribute it and/or modify it&lt;br /&gt; * under the terms of the GNU Lesser General Public License as&lt;br /&gt; * published by the Free Software Foundation; either version 2.1 of&lt;br /&gt; * the License, or (at your option) any later version.&lt;br /&gt; *&lt;br /&gt; * This software is distributed in the hope that it will be useful,&lt;br /&gt; * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU&lt;br /&gt; * Lesser General Public License for more details.&lt;br /&gt; *&lt;br /&gt; * You should have received a copy of the GNU Lesser General Public&lt;br /&gt; * License along with this software; if not, write to the Free&lt;br /&gt; * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&lt;br /&gt; * 02110-1301 USA, or see the FSF site: http://www.fsf.org.&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/span&gt; org.jboss.test.security.ejb2;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.rmi.RemoteException;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.ejb.CreateException;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.ejb.EJBHome;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt; * &lt;br /&gt; * This is the home interface of the session bean used in the EJB2 SAML security test.&lt;br /&gt; * &lt;br /&gt;* &lt;br /&gt; * @author &lt;a href="mailto:sguilhen@redhat.com"&gt;Stefan Guilhen&lt;/a&gt;&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;interface&lt;/b&gt;&lt;/span&gt; SimpleEJB2SessionHome &lt;span style="color: navy;"&gt;&lt;b&gt;extends&lt;/b&gt;&lt;/span&gt; EJBHome&lt;br /&gt;&lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Creates and returns a reference to the {@code SimpleEJB2Session} interface.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return a reference to the {@code SimpleEJB2Session} remote interface.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; SimpleEJB2Session create() &lt;span style="color: navy;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; CreateException, RemoteException;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;And here we can see the implementation class:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-java"&gt;&lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt; * JBoss, Home of Professional Open Source.&lt;br /&gt; * Copyright 2010, Red Hat Middleware LLC, and individual contributors&lt;br /&gt; * as indicated by the @author tags. See the copyright.txt file in the&lt;br /&gt; * distribution for a full listing of individual contributors. &lt;br /&gt; *&lt;br /&gt; * This is free software; you can redistribute it and/or modify it&lt;br /&gt; * under the terms of the GNU Lesser General Public License as&lt;br /&gt; * published by the Free Software Foundation; either version 2.1 of&lt;br /&gt; * the License, or (at your option) any later version.&lt;br /&gt; *&lt;br /&gt; * This software is distributed in the hope that it will be useful,&lt;br /&gt; * but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU&lt;br /&gt; * Lesser General Public License for more details.&lt;br /&gt; *&lt;br /&gt; * You should have received a copy of the GNU Lesser General Public&lt;br /&gt; * License along with this software; if not, write to the Free&lt;br /&gt; * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&lt;br /&gt; * 02110-1301 USA, or see the FSF site: http://www.fsf.org.&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/span&gt; org.jboss.test.security.ejb2;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.rmi.RemoteException;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.security.Principal;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.ejb.CreateException;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.ejb.EJBException;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.ejb.SessionBean;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.ejb.SessionContext;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/span&gt; SimpleEJB2SessionBean &lt;span style="color: navy;"&gt;&lt;b&gt;implements&lt;/b&gt;&lt;/span&gt; SessionBean&lt;br /&gt;&lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;private&lt;/b&gt;&lt;/span&gt; SessionContext context;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * {@code ejbCreate} method required by the EJB2 specification. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @throws CreateException if an error occurs while creating the session bean.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; ejbCreate() &lt;span style="color: navy;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; CreateException&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (non-Javadoc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @see javax.ejb.SessionBean#ejbActivate()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; ejbActivate()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (non-Javadoc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @see javax.ejb.SessionBean#ejbPassivate()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; ejbPassivate()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (non-Javadoc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @see javax.ejb.SessionBean#ejbRemove()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; ejbRemove()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (non-Javadoc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @see javax.ejb.SessionBean#setSessionContext(javax.ejb.SessionContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; setSessionContext(SessionContext context)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.context = context;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (non-Javadoc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @see org.jboss.test.security.ejb2.SimpleEJB2Session#invokeRegularMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeRegularMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// this method can be invoked by RegularUser and Administrator roles.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt; this.context.getCallerPrincipal();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (non-Javadoc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @see org.jboss.test.security.ejb2.SimpleEJB2Session#invokerAdministrativeMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeAdministrativeMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// this method can be invoked by the Administrator role only.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt; this.context.getCallerPrincipal();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (non-Javadoc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @see org.jboss.test.security.ejb2.SimpleEJB2Session#invokeUnprotectedMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeUnprotectedMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// this method can be invoked by any role.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;return&lt;/b&gt;&lt;/span&gt; this.context.getCallerPrincipal();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * (non-Javadoc)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @see org.jboss.test.security.ejb2.SimpleEJB2Session#invokeUnavailableMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; Principal invokeUnavailableMethod()&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// this method cannot be invoked by any role.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;throw&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; EJBException(&lt;span style="color: red;"&gt;"Excluded method - no access should be allowed"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The application policy definition (&lt;span style="font-family: courier new,courier;"&gt;ejb2-sampleapp-jboss-beans.xml&lt;/span&gt;), the properties files used by the &lt;span style="font-family: courier new,courier;"&gt;UsersRolesLoginModule&lt;/span&gt;, the STS configuration file, and the &lt;span style="font-family: courier new,courier;"&gt;META-INF/jboss.xml&lt;/span&gt; file are all very similar to the ones found in the EJB3 example. For this reason we are not going to show them here.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;Now, the authorization rules must be defined in the &lt;span style="font-family: courier new,courier;"&gt;META-INF/ejb-jar.xml&lt;/span&gt; deployment descriptor:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-xml"&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-quote"&gt;-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-quote"&gt;&lt;a class="jive-link-external-small" href="http://java.sun.com/dtd/ejb-jar_2_0.dtd" target="_blank"&gt;http://java.sun.com/dtd/ejb-jar_2_0.dtd&lt;/a&gt;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;ejb-jar&gt;&lt;/ejb-jar&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;display-name&gt;&lt;/display-name&gt;&lt;/span&gt;EBJ2 SAML Tests&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;enterprise-beans&gt;&lt;/enterprise-beans&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;session&gt;&lt;/session&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;description&gt;&lt;/description&gt;&lt;/span&gt;A secured stateless session bean&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;ejb-name&gt;&lt;/ejb-name&gt;&lt;/span&gt;SimpleEJB2Session&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;home&gt;&lt;/home&gt;&lt;/span&gt;org.jboss.test.security.ejb2.SimpleEJB2SessionHome&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;remote&gt;&lt;/remote&gt;&lt;/span&gt;org.jboss.test.security.ejb2.SimpleEJB2Session&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;ejb-class&gt;&lt;/ejb-class&gt;&lt;/span&gt;org.jboss.test.security.ejb2.SimpleEJB2SessionBean&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;session-type&gt;&lt;/session-type&gt;&lt;/span&gt;Stateless&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;transaction-type&gt;&lt;/transaction-type&gt;&lt;/span&gt;Container&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;assembly-descriptor&gt;&lt;/assembly-descriptor&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;security-role&gt;&lt;/security-role&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;description&gt;&lt;/description&gt;&lt;/span&gt;The role required to invoke administrative methods&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;role-name&gt;&lt;/role-name&gt;&lt;/span&gt;Administrator&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;security-role&gt;&lt;/security-role&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;description&gt;&lt;/description&gt;&lt;/span&gt;The role required to invoke regular methods&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;role-name&gt;&lt;/role-name&gt;&lt;/span&gt;RegularUser&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-comment"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method-permission&gt;&lt;/method-permission&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;unchecked&gt;&lt;/unchecked&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method&gt;&lt;/method&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;ejb-name&gt;&lt;/ejb-name&gt;&lt;/span&gt;SimpleEJB2Session&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method-name&gt;&lt;/method-name&gt;&lt;/span&gt;invokeUnprotectedMethod&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method&gt;&lt;/method&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;ejb-name&gt;&lt;/ejb-name&gt;&lt;/span&gt;SimpleEJB2Session&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method-intf&gt;&lt;/method-intf&gt;&lt;/span&gt;Home&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method-name&gt;&lt;/method-name&gt;&lt;/span&gt;create&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method-permission&gt;&lt;/method-permission&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;role-name&gt;&lt;/role-name&gt;&lt;/span&gt;Administrator&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method&gt;&lt;/method&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;ejb-name&gt;&lt;/ejb-name&gt;&lt;/span&gt;SimpleEJB2Session&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method-intf&gt;&lt;/method-intf&gt;&lt;/span&gt;Remote&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method-name&gt;&lt;/method-name&gt;&lt;/span&gt;*&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method-permission&gt;&lt;/method-permission&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;role-name&gt;&lt;/role-name&gt;&lt;/span&gt;RegularUser&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method&gt;&lt;/method&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;ejb-name&gt;&lt;/ejb-name&gt;&lt;/span&gt;SimpleEJB2Session&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method-intf&gt;&lt;/method-intf&gt;&lt;/span&gt;Remote&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method-name&gt;&lt;/method-name&gt;&lt;/span&gt;invokeRegularMethod&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;exclude-list&gt;&lt;/exclude-list&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;description&gt;&lt;/description&gt;&lt;/span&gt;A method that no one can access in this deployment&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method&gt;&lt;/method&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;ejb-name&gt;&lt;/ejb-name&gt;&lt;/span&gt;SimpleEJB2Session&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;method-name&gt;&lt;/method-name&gt;&lt;/span&gt;invokeUnavailableMethod&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;As we can see, the &lt;span style="font-family: courier new,courier;"&gt;invokeUnprotectedMethod&lt;/span&gt; is available to all roles. The Administrator role can call all methods on the bean except for &lt;span style="font-family: courier new,courier;"&gt;invokeUnavailableMethod&lt;/span&gt;, which is in &lt;span style="font-family: courier new,courier;"&gt;the exclude-list&lt;/span&gt; section. The RegularUser role is allowed to call only the &lt;span style="font-family: courier new,courier;"&gt;invokeRegularMethod&lt;/span&gt; method besides the unprotected method.&lt;br /&gt;&lt;h4&gt;Client Application&lt;/h4&gt;The  client application for the EJB2 example is also very similar to the one  used to test the EJB3 SAML integration. The main differences are the  lookup code and the way we use to establish the client-side security  context.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-java"&gt;&lt;span style="color: darkgreen;"&gt;/*&lt;br /&gt; * JBoss, Home of Professional Open Source Copyright 2010, Red Hat Middleware&lt;br /&gt; * LLC, and individual contributors by the @authors tag. See the copyright.txt&lt;br /&gt; * in the distribution for a full listing of individual contributors.&lt;br /&gt; * &lt;br /&gt; * This is free software; you can redistribute it and/or modify it under the&lt;br /&gt; * terms of the GNU Lesser General Public License as published by the Free&lt;br /&gt; * Software Foundation; either version 2.1 of the License, or (at your option)&lt;br /&gt; * any later version.&lt;br /&gt; * &lt;br /&gt; * This software is distributed in the hope that it will be useful, but WITHOUT&lt;br /&gt; * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS&lt;br /&gt; * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more&lt;br /&gt; * details.&lt;br /&gt; * &lt;br /&gt; * You should have received a copy of the GNU Lesser General Public License&lt;br /&gt; * along with this software; if not, write to the Free Software Foundation,&lt;br /&gt; * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF&lt;br /&gt; * site: http://www.fsf.org.&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;package&lt;/b&gt;&lt;/span&gt; test;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.rmi.AccessException;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.security.Principal;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; java.util.Hashtable;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.naming.Context;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.naming.InitialContext;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; javax.rmi.PortableRemoteObject;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.jboss.test.security.ejb2.SimpleEJB2Session;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.jboss.test.security.ejb2.SimpleEJB2SessionHome;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.picketlink.identity.federation.api.wstrust.WSTrustClient;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.picketlink.identity.federation.api.wstrust.WSTrustClient.SecurityInfo;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.picketlink.identity.federation.core.wstrust.SamlCredential;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.picketlink.identity.federation.core.wstrust.WSTrustException;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.picketlink.identity.federation.core.wstrust.plugins.saml.SAMLUtil;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt; org.w3c.dom.Element;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: darkgreen;"&gt;/**&lt;br /&gt; * &lt;br /&gt; * This class tests the usage of SAML assertions to authenticate clients of EJB2 applications on JBoss. This is&lt;br /&gt; * accomplished by having the client first obtain a SAML assertion from the PicketLink STS service and then use&lt;br /&gt; * the assertion as the credential when calling the protected EJB2.&lt;br /&gt; * &lt;br /&gt;* &lt;br /&gt; * The protected EJB3 application used in this test has configured the {@code SAML2STSLoginModule}. This login&lt;br /&gt; * module sends the SAML assertion to the STS for validation in order to authenticate the caller. A second login&lt;br /&gt; * module, {@code UsersRolesLoginModule}, has been used to provide the client's roles.&lt;br /&gt; * &lt;br /&gt;* &lt;br /&gt; * @author &lt;a href="mailto:sguilhen@redhat.com"&gt;Stefan Guilhen&lt;/a&gt;&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/span&gt; SAMLEJB2IntegrationTest&lt;br /&gt;&lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;private&lt;/b&gt;&lt;/span&gt; Hashtable&lt;string, object=""&gt; env;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; main(String[] args) &lt;span style="color: navy;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; Exception&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAMLEJB2IntegrationTest test = &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; SAMLEJB2IntegrationTest();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test.testSAMLEJB2Integration(&lt;span style="color: red;"&gt;"UserA"&lt;/span&gt;, &lt;span style="color: red;"&gt;"PassA"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test.testSAMLEJB2Integration(&lt;span style="color: red;"&gt;"UserB"&lt;/span&gt;, &lt;span style="color: red;"&gt;"PassB"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test.testSAMLEJB2Integration(&lt;span style="color: red;"&gt;"UserC"&lt;/span&gt;, &lt;span style="color: red;"&gt;"PassC"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; SAMLEJB2IntegrationTest()&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// initialize the JNDI env that will be used to lookup the test EJB.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.env = &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; Hashtable&lt;string, object=""&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.env.put(&lt;span style="color: red;"&gt;"java.naming.factory.initial"&lt;/span&gt;, &lt;span style="color: red;"&gt;"org.jboss.security.jndi.JndiLoginInitialContextFactory"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.env.put(&lt;span style="color: red;"&gt;"java.naming.factory.url.pkgs"&lt;/span&gt;, &lt;span style="color: red;"&gt;"org.jboss.naming:org.jnp.interfaces"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.env.put(&lt;span style="color: red;"&gt;"java.naming.provider.url"&lt;/span&gt;, &lt;span style="color: red;"&gt;"localhost:1099"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt; &lt;span style="color: navy;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt; testSAMLEJB2Integration(String username, String password) &lt;span style="color: navy;"&gt;&lt;b&gt;throws&lt;/b&gt;&lt;/span&gt; Exception&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// create a WSTrustClient instance.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WSTrustClient client = &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; WSTrustClient(&lt;span style="color: red;"&gt;"PicketLinkSTS"&lt;/span&gt;, &lt;span style="color: red;"&gt;"PicketLinkSTSPort"&lt;/span&gt;, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: red;"&gt;"http://localhost:8080/picketlink-sts-1.0.0/PicketLinkSTS"&lt;/span&gt;, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; SecurityInfo(username, password));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// issue a SAML assertion using the client API.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Element assertion = &lt;span style="color: navy;"&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"\nInvoking token service to get SAML assertion for "&lt;/span&gt; + username);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; assertion = client.issueToken(SAMLUtil.SAML2_TOKEN_TYPE);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"SAML assertion for "&lt;/span&gt; + username + &lt;span style="color: red;"&gt;" successfully obtained!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; (WSTrustException wse)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"Unable to issue assertion: "&lt;/span&gt; + wse.getMessage());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wse.printStackTrace();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.exit(1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// invoke the remote EJB using the assertion as the credential.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.env.put(&lt;span style="color: red;"&gt;"java.naming.security.principal"&lt;/span&gt;, username);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.env.put(&lt;span style="color: red;"&gt;"java.naming.security.credentials"&lt;/span&gt;, &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; SamlCredential(assertion));&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"Invoking secure EJB2 session bean with "&lt;/span&gt; + username + &lt;span style="color: red;"&gt;" SAML assertion"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Context context = &lt;span style="color: navy;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; InitialContext(env);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object object = context.lookup(&lt;span style="color: red;"&gt;"SimpleEJB2Session/home"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleEJB2SessionHome home = (SimpleEJB2SessionHome) PortableRemoteObject.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; narrow(object, SimpleEJB2SessionHome.class);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SimpleEJB2Session session = home.create();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// invoke method that requires the Administrator role.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Principal principal = session.invokeAdministrativeMethod();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"User "&lt;/span&gt; + principal.getName() + &lt;span style="color: red;"&gt;" successfully called administrative method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; (AccessException ae)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"User "&lt;/span&gt; + username + &lt;span style="color: red;"&gt;" is not authorized to call administrative method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// invoke method that requires the RegularUser role.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Principal principal = session.invokeRegularMethod();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"User "&lt;/span&gt; + principal.getName() + &lt;span style="color: red;"&gt;" successfully called regular method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; (AccessException ae)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"User "&lt;/span&gt; + username + &lt;span style="color: red;"&gt;" is not authorized to call regular method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// invoke method that allows all roles.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Principal principal = session.invokeUnprotectedMethod();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"User "&lt;/span&gt; + principal.getName() + &lt;span style="color: red;"&gt;" successfully called unprotected method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; (AccessException ae)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// this should never happen as long as the user has successfully authenticated.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"User "&lt;/span&gt; + username + &lt;span style="color: red;"&gt;" is not authorized to call unprotected method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// invoke method that denies access to all roles.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Principal principal = session.invokeUnavailableMethod();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgreen;"&gt;// this should never happen because the method should deny access to all roles.&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"User "&lt;/span&gt; + principal.getName() + &lt;span style="color: red;"&gt;" successfully called unavailable method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt; (AccessException ae)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&lt;span style="color: red;"&gt;"User "&lt;/span&gt; + username + &lt;span style="color: red;"&gt;" is not authorized to call unavailable method!"&lt;/span&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;}&lt;/span&gt;&lt;/string,&gt;&lt;/string,&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;In this case we are using the &lt;span style="font-family: courier new,courier;"&gt;JndiLoginInitialContextFactory&lt;/span&gt; to set the SAML assertion in the security context just to show an alternative to the &lt;span style="font-family: courier new,courier;"&gt;SecurityClient&lt;/span&gt; API. The &lt;span style="font-family: courier new,courier;"&gt;JndiLoginInitialContextFactory &lt;/span&gt;gets the principal and credentials from the &lt;span style="font-family: courier new,courier;"&gt;InitialContext&lt;/span&gt; properties and pushes them to the security context.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;NOTE:&lt;/b&gt; The &lt;span style="font-family: courier new,courier;"&gt;JndiLoginInitialContextFactory&lt;/span&gt;  approach doesn't work for EJB3 beans on JBoss AS 5.1.0.GA. An issue  (JBAS-7010) has been flagged and a fix is available for JBoss 5 EAP and  JBoss AS 6. So if you are using JBoss AS 5.1.0.GA make sure to use the &lt;span style="font-family: courier new,courier;"&gt;SecurityClient&lt;/span&gt; API to invoke EJB3 beans using SAML.&lt;br /&gt;&lt;h4&gt;Deploying and Running the EJB2 Sample Application on JBoss AS5&lt;/h4&gt;If  the PicketLink libs haven't been installed yet, you need to do this  before deploying the sample application and the STS. This is  accomplished by copying &lt;span style="font-family: courier new,courier;"&gt;picketlink-fed-1.0.3.jar&lt;/span&gt; and &lt;span style="font-family: courier new,courier;"&gt;picketlink-bindings-jboss-1.0.3.jar&lt;/span&gt; (both attached to this document) files to the &lt;span style="font-family: courier new,courier;"&gt;JBOSS_HOME/server/partition/lib&lt;/span&gt; folder. After installing the required PicketLink libs you must copy the &lt;span style="font-family: courier new,courier;"&gt;ejb2-sampleapp.jar&lt;/span&gt; and &lt;span style="font-family: courier new,courier;"&gt;picketlink-sts-1.0.0.war&lt;/span&gt; to &lt;span style="font-family: courier new,courier;"&gt;JBOSS_HOME/server/partition/deploy&lt;/span&gt;.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;In order to compile the EJB 2 sample client application, you need to have &lt;span style="font-family: courier new,courier;"&gt;ejb2-sampleapp.jar&lt;/span&gt;,&lt;span style="font-family: courier new,courier;"&gt; picketlink-fed-1.0.3.jar&lt;/span&gt; (both found in this document), and &lt;span style="font-family: courier new,courier;"&gt;jbossall-client.jar&lt;/span&gt; (found in &lt;span style="font-family: courier new,courier;"&gt;JBOSS_HOME/client&lt;/span&gt;) in your classpath. If using an IDE like Eclipse, all jars referenced by &lt;span style="font-family: courier new,courier;"&gt;jbossall-client.jar&lt;/span&gt; will be automatically included in the classpath. If not, you may need to add these jar manually.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;In order to run the client, just specify the aforementioned classpath:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;java -cp CLASSPATH test.SAMLEJB2IntegrationTest&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;If  everything has been configured and deployed properly, you should see  the following output (similar to the output produced by the EJB3 client  application we've shown before):&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;Invoking token service to get SAML assertion for UserA&lt;br /&gt;SAML assertion for UserA successfully obtained!&lt;br /&gt;Invoking secure EJB2 session bean with UserA SAML assertion&lt;br /&gt;User UserA successfully called administrative method!&lt;br /&gt;User UserA successfully called regular method!&lt;br /&gt;User UserA successfully called unprotected method!&lt;br /&gt;User UserA is not authorized to call unavailable method!&lt;br /&gt;&lt;br /&gt;Invoking token service to get SAML assertion for UserB&lt;br /&gt;SAML assertion for UserB successfully obtained!&lt;br /&gt;Invoking secure EJB2 session bean with UserB SAML assertion&lt;br /&gt;User UserB is not authorized to call administrative method!&lt;br /&gt;User UserB successfully called regular method!&lt;br /&gt;User UserB successfully called unprotected method!&lt;br /&gt;User UserB is not authorized to call unavailable method!&lt;br /&gt;&lt;br /&gt;Invoking token service to get SAML assertion for UserC&lt;br /&gt;SAML assertion for UserC successfully obtained!&lt;br /&gt;Invoking secure EJB2 session bean with UserC SAML assertion&lt;br /&gt;User UserC is not authorized to call administrative method!&lt;br /&gt;User UserC is not authorized to call regular method!&lt;br /&gt;User UserC successfully called unprotected method!&lt;br /&gt;User UserC is not authorized to call unavailable method!&lt;/code&gt;&lt;/pre&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code"&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-3287857485504784020?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/3287857485504784020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=3287857485504784020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3287857485504784020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3287857485504784020'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/saml-ejb-integration-with-picketlink.html' title='SAML EJB Integration with PicketLink STS'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-1165077518567777224</id><published>2011-04-24T10:20:00.000-07:00</published><updated>2011-04-24T10:35:12.358-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chat'/><title type='text'>KariChat Live Chat Software</title><content type='html'>&lt;a href="http://www.karichat.com/"&gt;KariChat&lt;/a&gt; enables webmasters to chat with their visitors in real-time, enabling live help and live support, and providing means to engage the visitor into instant sale. KariChat is so much more than just a chatting service, you can also use this software to track your customers and gather information that can be used to close the sale. For this reason, along with many others, we decided to make KariChat the best for &lt;a href="http://www.karichat.com/"&gt;live chat software&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Below are the points you would like when buying the KariChat, the &lt;a href="http://www.karichat.com/"&gt;live chat software&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Easy Setup &amp; Operation&lt;/b&gt;&lt;br /&gt;Look for a live chat service that is simple to set up and maintain.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Customer Convenience&lt;/b&gt;&lt;br /&gt;Little conveniences make all the difference to a customer, like knowing their question is receiving attention even before the live chat operator sends the response (typing indicator) or the offer to email a transcript of the live chat session to the customer afterward.&lt;br /&gt;&lt;br /&gt;Big conveniences make a difference too, like your customers' ability to receive documents, images or the right webpage from your live chat operator. Look for features like these to delight customers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Operator/Manager Convenience&lt;/b&gt;&lt;br /&gt;Make live chat simple, not a chore for your operators. Features that add to operator convenience include: prewritten chat greetings you can edit, visual and sound alerts, a built-in spellchecker, ability to run several chat sessions at the same time and the ability to transfer live chats to other operators.&lt;br /&gt;Built-in, customizable chat buttons and images can reinforce your company's branding efforts and remote administration means you can make changes on the fly from any computer. Management will be delighted with the automatic online/offline status and messaging system to avoid losing a single customer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Monitoring and Tracking Abilities&lt;/b&gt;&lt;br /&gt;With the right tools, you can collect rich information about online visitors, including the website they came from, what pages they visit on your site and the browser they use. You can see if the visitor has been on your website before, look up past chats and customer information then launch a live chat. Some chat services offer a built-in "Who Is" browser lookup if you want to learn more about a specific customer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Flexible Features&lt;/b&gt;&lt;br /&gt;Top features to look for include live keywords to help you understand your customers' goals, and the ability to send your customer a survey after chat is complete. On your website, you can add a floating invitation to chat, or place advertisements in your live chat window.&lt;br /&gt;&lt;br /&gt;All these features give you the opportunity to serve your customer better (and to get your customer's attention).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Customer Support&lt;/b&gt;&lt;br /&gt;Look for live chat support software that is willing to help you in ways you find most convenient: live chat support, email and/or a toll-free telephone number. With live chat support services, you have all the tools and resources you need to turn a first-time customer into a lifetime customer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;br /&gt;Get sound and good support when you would use the &lt;a href="http://www.karichat.com/"&gt;live chat software&lt;/a&gt; provided by KariChat&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-1165077518567777224?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/1165077518567777224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=1165077518567777224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/1165077518567777224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/1165077518567777224'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/karichat-review.html' title='KariChat Live Chat Software'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-5264916178781121043</id><published>2011-04-23T22:08:00.000-07:00</published><updated>2011-04-23T22:08:26.621-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>SEO Importance</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Simply stated, &lt;em&gt;Search Engine Optimization,&lt;/em&gt; or SEO, is the  process of optimizing a website in order to make it easier for search  engines like Google and Yahoo! to crawl or scan your site. When executed  properly, search engines will come to understand what your site is  actually about. This is important because it helps determine where &lt;a href="http://www.contactme.com/blog/advice/starting-a-business-how-to-find-a-memorable-domain-name/"&gt;your website&lt;/a&gt; will rank in their search results.&lt;br /&gt;&lt;br /&gt;&lt;div id="horizontalsocial" style="display: none;"&gt; &lt;div class="sharertitle"&gt;Share this post&lt;/div&gt;&lt;div class="sharer"&gt;      &lt;/div&gt;&lt;div class="sharerfb"&gt;  &lt;/div&gt;&lt;div class="sharethis"&gt;&lt;span id="share"&gt;&lt;a href=""&gt;&lt;img src="http://www.cmblog.contactme.com/wp-content/themes/cmtheme/images/share.jpg" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;In today’s web-based marketplace, SEO is one of the most profitable  skills you can possess. Never before has it been possible to “catch”  prospects as they are in the heat of looking for exactly what you sell.  Furthermore, customers who find you are more motivated than customers  you approach yourself. Unfortunately, all your competitors are aware of  that, too.&lt;br /&gt;&lt;br /&gt;Without proper optimization, you lose &lt;strong&gt;twice&lt;/strong&gt;: not only do searchers &lt;strong&gt;not&lt;/strong&gt;  find you, they then find one or more of your competitors instead. The  same goes for bloggers who have nothing to sell but are competing for  readers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;Courtesy:http://www.contactme.com/blog/advice/what-is-seo-and-how-can-i-rank-higher-in-google/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-5264916178781121043?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/5264916178781121043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=5264916178781121043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/5264916178781121043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/5264916178781121043'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/seo-importance.html' title='SEO Importance'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8602992162165757050</id><published>2011-04-20T19:01:00.000-07:00</published><updated>2011-04-20T19:01:14.918-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Get Manager approval in SharePoint Designer 2010 - Step by Step</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-size: x-small;"&gt;A fundamental condition that you always  encountered when gathering workflow requirement is to get the user's  manager approval, a tedious amount of coding to connect to active  directory retrieve user profile information, get his manager login name,  pass it as a parameter to the workflow, create a custom task for the  manager with a notification.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Calibri; margin: 0in;"&gt;&lt;span style="font-size: x-small;"&gt;SharePoint 2010 Designer to the rescue, you can do all the above in &lt;span style="text-decoration: underline;"&gt;15 clicks&lt;/span&gt;, with &lt;span style="text-decoration: underline;"&gt;ZERO code&lt;/span&gt; involved. Just by doing the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Calibri; margin: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol style="direction: ltr; font-family: Calibri; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;" type="1"&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;" value="1"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;Open SharePoint Designer 2010 and connect to your SharePoint site.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol style="direction: ltr; font-family: Calibri; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;" type="1"&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;" value="2"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;Click  Workflows and select the workflow type you need, for this presentation  I'll use reusable workflow with All content types as my scope. But this  doesn't affect the following logic, the same steps applies for the List  and Site workflows. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol style="direction: ltr; font-family: Calibri; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;" type="1"&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;" value="3"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;From  the Workflow ribbon select Actions &amp;gt; Collect Data from User, you can  also select assign a to-do task but collect action from user allows you  to create a custom task for the manager&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px; text-align: center; vertical-align: middle;"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;img border="0" height="266" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-85-52/3757.1.jpg" width="400" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol style="direction: ltr; font-family: Calibri; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;" type="1"&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;" value="4"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;This will show you the Action in the workflow editor.&lt;a name='more'&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;img border="0" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-85-52/8688.2.jpg" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol style="direction: ltr; font-family: Calibri; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;" type="1"&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;" value="5"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;The action is constructed from three parts:&lt;/span&gt; &lt;/span&gt;&lt;ol style="direction: ltr; font-family: Calibri; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;" type="a"&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;" value="1"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;The data, which is the custom task that will be collected&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;This user, which in our case the manager&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-size: x-small;"&gt;Output to variable: collect. Collect is&lt;span&gt;&amp;nbsp; &lt;/span&gt;the task ID which you can change it, use it to refer to the task when you need to pass a variable through this task. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol style="direction: ltr; font-family: Calibri; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;" type="1"&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;" value="6"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;Clicking on data will allow you to create the custom task by starting the task wizard, open the wizard and click Next.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;You  will need to specify a Task name, and you can also specify a  description. For now lets call the task "Review Task". And click Next&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px; text-align: center; vertical-align: middle;"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;img border="0" height="247" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-85-52/5554.3.jpg" width="334" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol style="direction: ltr; font-family: Calibri; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;" type="1"&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;" value="8"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;Now you can Specify the Task custom field by clicking Add and select the field type, I will specify two field:&lt;/span&gt; &lt;/span&gt;&lt;ol style="direction: ltr; font-family: Calibri; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;" type="a"&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;" value="1"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;Approved as a choice with Yes/No.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol style="direction: ltr; font-family: Calibri; font-size: 11pt; font-style: normal; font-weight: normal; margin-bottom: 0in; margin-left: 0.375in; margin-top: 0in; unicode-bidi: embed;" type="a"&gt;&lt;li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;" value="2"&gt;&lt;span style="font-family: Calibri; font-style: normal; font-weight: normal;"&gt;&lt;span style="font-size: x-small;"&gt;Comment as a text area. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/b/meacoex/archive/2010/11/01/get-manager-approval-in-sharepoint-designer-2010-step-by-step.aspx" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://blogs.technet.com/b/meacoex/archive/2010/11/01/get-manager-approval-in-sharepoint-designer-2010-step-by-step.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8602992162165757050?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8602992162165757050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8602992162165757050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8602992162165757050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8602992162165757050'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/get-manager-approval-in-sharepoint.html' title='Get Manager approval in SharePoint Designer 2010 - Step by Step'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8363162852324887214</id><published>2011-04-20T18:58:00.000-07:00</published><updated>2011-04-20T18:58:15.642-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>Remote Active Directory Administration with Windows PowerShell</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;                                                   &lt;br /&gt;&lt;div class="SidebarContainerRSS"&gt;&lt;br /&gt;&lt;/div&gt;Windows Server 2008 R2 automatically installs the Active Directory  Module for Windows PowerShell and Active Directory Administrative Center  when you add the Active Directory Domain Services (AD DS) or Active  Directory Lightweight Directory Services (AD LDS) role. When you promote  the server to an AD DS domain controller or create an AD LDS instance,  the system then installs and activates Active Directory Web Services,  which is everything you need to manage Active Directory using Windows  PowerShell on that computer.   &lt;br /&gt;&lt;br /&gt;However, administrators often want to manage Active Directory from  another computer at a remote location, and you can do so with the Active  Directory Module and ADAC, as long as you are running Windows Server  2008 R2 or Windows 7 on the remote computer.  &lt;br /&gt;&lt;br /&gt;To manage AD DS or AD LDS resources from a computer running Windows  Server 2008 R2 that is not an AD DS domain controller and that does not  host an AD LDS instance, you must install the Active Directory Module  for Windows PowerShell and (optionally) the ADAC module, using the Add  Features Wizard, accessible in Server Manager or the Initial  Configuration Tasks window. If you prefer, you can also install the  features using Windows PowerShell cmdlets or the Servercmd.exe  command-line tool.  &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Install Remote Server Administration Tools with the Add Features Wizard&lt;/strong&gt;&lt;br /&gt;The Active Directory Module for Windows PowerShell and the ADAC are part  of the Remote Server Administration Tools feature, which you can add as  a whole or by selecting individual modules. Both modules require you to  install the .NET Framework 3.5.1 feature as well, and to install ADAC,  you must also install the Active Directory Module for Windows PowerShell  and AD DS Snap-Ins and Command-Line Tools features.  &lt;br /&gt;&lt;br /&gt;Note that your server must be a member of an AD DS domain with at least one Windows Server 2008 R2 domain controller. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Install Remote Server Administration Tools with Windows PowerShell&lt;/strong&gt;&lt;br /&gt;You can also install individual parts of the Remote Server  Administration Tools feature from the Windows PowerShell prompt, using  the capabilities provided in the ServerManager module.  &lt;/div&gt;&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/magazine/gg413289.aspx" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://technet.microsoft.com/en-us/magazine/gg413289.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8363162852324887214?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8363162852324887214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8363162852324887214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8363162852324887214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8363162852324887214'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/remote-active-directory-administration.html' title='Remote Active Directory Administration with Windows PowerShell'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-3500947855144780066</id><published>2011-04-20T18:56:00.001-07:00</published><updated>2011-04-20T18:56:35.565-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>The Benefits of Private Cloud Computing</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;While we've all heard the terms private and public cloud over the last year, those terms may still seem vague to some. So it's probably a good idea to discuss each concept in some detail, and since it's near and dear to my heart I'll start with private cloud. No, it's not a gated community in heaven; though it can be a religious experience when properly implemented.&lt;br /&gt;&lt;br /&gt;To use the formal definition: A private cloud pools and dynamically allocates your IT resources across business units, so that services can be deployed quickly and scaled out to meet business needs whenever they occur. Usage of these resources can be tracked and billed back to each business unit. With private cloud you get many of the benefits of (public) cloud computing with the additional control and customization associated with using resources that are dedicated to your organization.&lt;br /&gt;&lt;br /&gt;What's that all mean? It means that a private cloud takes the concepts of a dynamic datacenter to the next level. In a dynamic datacenter, we use virtualization to - for all intents and purposes - divorce hardware considerations from your IT workloads. The infrastructure you have siloed to different departments, buildings, campuses or what have you, can now be combined into one virtualized pool of resources - infrastructure that IT can offer as a service, quickly and elastically, anywhere in the organization where it's needed. Hence the moniker, Infrastructure as a Service (IaaS). Servers, platforms and applications run on virtualized servers that are quickly deployed and scaled without requiring much integration with the hardware layer. IaaS is currently the beating heart of a private cloud design, but Platform as a Service (PaaS) is coming soon to a private cloud near you (see below).&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The private cloud enables this next-level of IT service, using identity management and advanced systems management tools to enable IT pros and even end users to build up, maintain and tear down resources that before would have required lengthy IT intervention. Take the case of a developer looking to test a new software product. Previously, she'd have to ring up IT and request a server be built to her testing specifications. Wait two weeks for IT to approve the request and someone might then get around to giving her a machine. Meanwhile, her testing process is in limbo. In a private cloud, she'll be able to log into a self-service portal, build her own virtual server decked out just the way she needs it, test till her head turns blue and then tear the whole thing down in the end. To the IT manager, this whole transaction will simply take place in his event and audit logs.&lt;br /&gt;&lt;br /&gt;Does this mean he's out of a job? Heck, no. For one, the elements that comprise a private cloud are the same ones you need him for today - Windows Server 2008 R2, Active Directory, Hyper-V, System Center and more. For another, even with these platforms optimized into a working private cloud, you'll need to align these new capabilities with your company's workflows and business requirements. Yes, the IT pro role will likely need to evolve in this scenario. Grow from being solely a technologist to being able to strategize with technology - add new value to the business by combining technology expertise with business expertise . Find new ways of doing things and push that competitive edge.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/b/itinsights/archive/2010/11/09/the-benefits-of-private-cloud-computing.aspx" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://blogs.technet.com/b/itinsights/archive/2010/11/09/the-benefits-of-private-cloud-computing.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-3500947855144780066?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/3500947855144780066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=3500947855144780066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3500947855144780066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3500947855144780066'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/benefits-of-private-cloud-computing.html' title='The Benefits of Private Cloud Computing'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-3245502486457388843</id><published>2011-04-20T18:54:00.000-07:00</published><updated>2011-04-20T18:54:41.907-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADFS'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Configuring ADFS Trusts For Multiple Identity Providers with SharePoint 2010</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;To begin with, start on the ADFS server to which your SharePoint site has the trust (we'll call it RP).&lt;/div&gt;&lt;ol style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;li&gt;Open the federationmetadata.xml file from the ADFS server that users  will be authenticating against (we'll call it IP) in the browser.&amp;nbsp; By  default the location will be &lt;a href="https://myipadfsserver/FederationMetadata/2007-06/FederationMetadata.xml"&gt;https://myIpAdfsServer/FederationMetadata/2007-06/FederationMetadata.xml&lt;/a&gt;.&amp;nbsp;  If you get an untrusted certificate error in the browser&amp;nbsp;you'll need to  add the root authority certificate for the IP ADFS server's SSL to your  trusted root authorities store.&amp;nbsp; &lt;strong&gt;NOTE:&lt;/strong&gt;&amp;nbsp; &lt;em&gt;This  assumes that you have the same root authority certificate for both the  SSL access to the IP ADFS web server and the IP ADFS token signing  certificate.&amp;nbsp; If they are not the same then you need to add the root  certificate authority for BOTH to the local&amp;nbsp;RP ADFS server's certificate  store.&lt;/em&gt;&amp;nbsp; To do that:&lt;ol&gt;&lt;li&gt;Click through to view the web site, which should show the Xml file.&lt;/li&gt;&lt;li&gt;Click on the View Certificates icon so you can see the SSL certificate that was used.&lt;/li&gt;&lt;li&gt;Click on the Certificate Path tab.&lt;/li&gt;&lt;li&gt;Double-click on the top certificate in the chain - this is the root authority certificate.&lt;/li&gt;&lt;li&gt;Click on the Details tab.&lt;/li&gt;&lt;li&gt;Click on the Copy to File... button and save the certificate in CER  format to the local disk.&amp;nbsp; You can now close out all of the certificate  dialogs and browser.&lt;/li&gt;&lt;li&gt;Open up the Certificates MMC; if you don't have a shortcut for this  then just start the MMC from the Run menu, Add snap-ins, and add the  Certificates snap-in for the Computer (local).&lt;/li&gt;&lt;li&gt;Expand the Trusted Root Certification Authorities node, right-click  on the Certificates node, and choose the Import menu.&amp;nbsp; Follow the wizard  to import the root authority .CER file you exported above.&lt;/li&gt;&lt;li&gt;&lt;a name='more'&gt;&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Open up the AD FS 2.0 Management application.&lt;/li&gt;&lt;li&gt;Expand the Trust Relationships node, then right-click on the Claim Provider Trusts node and select Add Claims Provider Trust...&lt;/li&gt;&lt;li&gt;Click the Start button to begin the wizard.&lt;/li&gt;&lt;li&gt;Leave the default option selected to Import data about the claims  provider published online or on a local network, and in the edit box put  in the address to the FederationMetadata.xml file (&lt;a href="https://myipadfsserver/FederationMetadata/2007-06/FederationMetadata.xml"&gt;https://myIpAdfsServer/FederationMetadata/2007-06/FederationMetadata.xml&lt;/a&gt;  by default) then click the Next button.&amp;nbsp; If your root authority  certificate is correctly installed and the name can be resolved, then  the wizard will continue to the next step.&amp;nbsp; If not, you have  troubleshooting to do.&lt;/li&gt;&lt;li&gt;Provide a Display Name and optionally Notes, then click the Next button.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/b/speschka/archive/2010/11/24/configuring-adfs-trusts-for-multiple-identity-providers-with-sharepoint-2010.aspx" target="_-blank"&gt; More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://blogs.technet.com/b/speschka/archive/2010/11/24/configuring-adfs-trusts-for-multiple-identity-providers-with-sharepoint-2010.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-3245502486457388843?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/3245502486457388843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=3245502486457388843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3245502486457388843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3245502486457388843'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/configuring-adfs-trusts-for-multiple.html' title='Configuring ADFS Trusts For Multiple Identity Providers with SharePoint 2010'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-3809917603947522632</id><published>2011-04-20T18:53:00.000-07:00</published><updated>2011-04-20T18:53:09.337-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Configuring SharePoint to use a Specific Identity Provider in ADFS</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;One example where this may be necessary is if you have one ADFS server that is a sort of hub for other ADFS servers being used.  If we follow this scenario out, suppose you have multiple web applications in SharePoint, and for each one your users should authenticate against a different Active Directory forest via ADFS.  Well, using the procedures I described in the previous posting, you can create the trusts in ADFS to make that scenario work.  However, the first time your users navigate to the SharePoint site that uses that hub ADFS server, or if they use the In Private features of IE to navigate to the site, they will get an intermediary page from ADFS before they log on.  That intermediary page will list ALL of the claims identity providers and ask the user to select the one against which they wish to authenticate.  Then they are redirected over to the login page for that identity provider (IP). &lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In a perfect world though, we don't want users to see that intermediary page - we'd rather redirect them immediately to the correct IP for authentication.  Fortunately ADFS provides support for this through a "whr" query string parameter.  If you add this query string parameter when navigating to ADFS then it will do a look up of the whr parameter to find a matching IP.  If it finds one, then it automatically redirects you to that IP.  In ADFS 1.x that parameter was a URN, like urn:foo:monkey.  In ADFS 2.0 it takes the format of a Uri.  To find the value you should use for the whr query string parameter, open up the AD FS 2.0 Management application.  Expand the Trust Relationships...Claims Provider Trusts node, then double-click on the IP that you want used.  Click on the Identifiers tab and you will see a grayed out edit box called Claims provider identifier:.  The value in there is what should be in your whr query string parameter.  For example, in my environment the IP identifier is http://tgen1.terri.local/adfs/services/trust.  In order to get users of a web application to redirect immediately over to that IP I need to append the following to the normal login query string that SharePoint uses:  &amp;amp;whr=http://tgen1.terri.local/adfs/services/trust  When I do that I no longer see the IP selection page in ADFS, I just go directly to logging in.&lt;/div&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/b/speschka/archive/2010/11/24/configuring-sharepoint-to-use-a-specific-identity-provider-in-adfs.aspx" target="_blank"&gt;&lt;br /&gt;More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://blogs.technet.com/b/speschka/archive/2010/11/24/configuring-sharepoint-to-use-a-specific-identity-provider-in-adfs.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-3809917603947522632?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/3809917603947522632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=3809917603947522632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3809917603947522632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3809917603947522632'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/configuring-sharepoint-to-use-specific.html' title='Configuring SharePoint to use a Specific Identity Provider in ADFS'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-4585422278368962625</id><published>2011-04-20T18:49:00.002-07:00</published><updated>2011-04-20T18:49:52.231-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>Auto Populate Telephone Numbers form Active Directory to Office Communicator 2007/R2</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In some OCS 2007/R2 Implementation scenarios without Enterprise Voice  it is required that all user’s Telephone numbers in Active Directory to  be populated to Office Communicator 2007/R2 though Office Communication  Server 2007/R2 Address Book, so Communicator user can know Telephone  Numbers for his contacts with one click on a contact inside Office  Communicator without query the Corporate Directory in Outlook or from  Corporate Telephone System, below picture show what user will see from  one click in communicator when User’s Telephone Numbers Auto Populated  from Active Directory to Office Communicator.&lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-57-metablogapi/6507.clip_5F00_image002_5F00_5CCE4FCC.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;This Microsoft article &lt;a href="http://support.microsoft.com/kb/961947"&gt;http://support.microsoft.com/kb/961947&lt;/a&gt;  shows that if the telephone number stored in Active Directory is not in  standard format ………………. Then numbers will not be populated to Office  Communicator &lt;br /&gt;&lt;h6&gt;Create Company Normalization Rule File&lt;/h6&gt;&lt;h6&gt;&lt;a name='more'&gt;&lt;/a&gt;&amp;nbsp;&lt;/h6&gt;To overcome the non standard telephone numbers issue and allow Auto  Population for User’s Telephone Numbers from Active Directory to Office  Communication Server 2007/R2 you need to create  Company_Phone_Number_Normalization_Rules text file include all customer  Normalization Rules related to how customer store Telephone Numbers in  Active Directory, to this there is a template file named  “Company_Phone_Number_Normalization_Rules.txt” and stored in OCS Front  End Server in this path “C:\Program Files\Microsoft Office  Communications Server 2007 R2\Web Components\Address Book Files\Files”  this template file is like the one in picture below:&lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-57-metablogapi/2311.clip_5F00_image004_5F00_6E2E8AD7.jpg"&gt;&lt;img alt="clip_image004" border="0" height="287" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-57-metablogapi/2476.clip_5F00_image004_5F00_thumb_5F00_12AFF28F.jpg" title="clip_image004" width="396" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/b/bettertogether/archive/2011/01/09/auto-populate-telephone-numbers-form-active-directory-to-office-communicator-2007-r2.aspx" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://blogs.technet.com/b/bettertogether/archive/2011/01/09/auto-populate-telephone-numbers-form-active-directory-to-office-communicator-2007-r2.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-4585422278368962625?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/4585422278368962625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=4585422278368962625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4585422278368962625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4585422278368962625'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/auto-populate-telephone-numbers-form.html' title='Auto Populate Telephone Numbers form Active Directory to Office Communicator 2007/R2'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-7629213024607837927</id><published>2011-04-20T18:49:00.000-07:00</published><updated>2011-04-20T18:49:03.686-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>Import Bulk Users to Active Directory</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;1) Build CSV file that include Organization Users with specific  attributes to be imported in the new Windows 2008 R2 Active Directory,&lt;br /&gt;Sample of CSV can be as the following:&lt;br /&gt;&lt;strong&gt;Recommendation&lt;/strong&gt;&lt;br /&gt;For simplicity’s sake we’ll keep it to a few basic properties like &lt;b&gt;Name&lt;/b&gt; and &lt;b&gt;Description&lt;/b&gt;,  of course Organization IT team can and normally would have  significantly more. To make it easier IT team can add a few extra  columns like the &lt;b&gt;SamAccountName&lt;/b&gt; and the Path (OU) where  Organization would like the account to be created, and for account  password IT team can configure random or fixed password for all users  and force it for all users and distribute the new passwords for each  user individually while configure all users to be forced to change  password after first login. &lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-57-metablogapi/4578.clip_5F00_image002_5F00_50DEA543.jpg"&gt;&lt;img alt="clip_image002" border="0" height="237" src="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-79-57-metablogapi/5657.clip_5F00_image002_5F00_thumb_5F00_4B600ED2.jpg" title="clip_image002" width="430" /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2) Use cmdlet &lt;b&gt;Import-CSV&lt;/b&gt; which read from a standard CSV file  and create a set of objects based on data inside the CSV file, then send  the results of this cmdlet using PowerShell pipeline to &lt;b&gt;New-ADUser&lt;/b&gt; cmdlet from ActiveDirectory module to create the specified users in the Active Directory, as a sample cmdlet: &lt;b&gt;“Import-CSV C:\Users.csv | New-ADUser” &lt;/b&gt;this command to be run from Active Directory PowerShell Module. &lt;br /&gt;3) Verify that the users in CSV are imported in the Active Directory.&lt;/div&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/b/bettertogether/archive/2011/01/09/import-bulk-users-to-active-directory.aspx" target="_blank"&gt; More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://blogs.technet.com/b/bettertogether/archive/2011/01/09/import-bulk-users-to-active-directory.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-7629213024607837927?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/7629213024607837927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=7629213024607837927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7629213024607837927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7629213024607837927'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/import-bulk-users-to-active-directory.html' title='Import Bulk Users to Active Directory'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-607338960706691931</id><published>2011-04-20T18:25:00.000-07:00</published><updated>2011-04-20T18:25:19.311-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>Active Directory Forest Discovery and Publishing in Configuration Manager 2012 Beta 2</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;Backgrou&lt;/b&gt;&lt;b&gt;nd&lt;/b&gt;&lt;br /&gt;In many large organizations, network configuration and Active  Directory Domain Services are managed separately from Configuration  Manager. Changes to the network topology or AD &amp;nbsp;structure must be  communicated between these teams to ensure Configuration Manager  boundary settings are accurate. &amp;nbsp;Up to date boundary information results  in efficient application and software update deployments to all managed  client computers. &amp;nbsp;This is especially critical for roaming scenarios,  which require boundary information to always be available and up to  date. &amp;nbsp;Now in Configuration Manager 2012 Beta 2, Active Directory Forest  Discovery and publishing improvements enable organizations to centrally  manage distribution of key site system roles across forests without the  requirements to deploy additional sites.&lt;br /&gt;&lt;b&gt;Forest Discovery&lt;/b&gt;&lt;b&gt; and Publishing Overview&lt;/b&gt;&lt;br /&gt;To improve manageability of an ever-changing network environment,  Active Directory Forest Discovery is added in Configuration Manager 2012  Beta 2. With it, Configuration Manager can discover Active Directory  forests, their domains, AD Sites and IP subnets. Because domain users  (or domain computer accounts) have permission to query  forest&amp;nbsp;relationships, Active Directory Forest Discovery can return  information about other forests and their trust direction. The system  can programmatically connect to all the forests and build a complete  mapping of the corporate environment. It can also cross forest  boundaries using specific credentials for each forest regardless of the  trust type. The information obtained through Active Directory Forest  Discovery can be directly exported as boundaries or boundary groups.  Changes to discovered data are updated dynamically and aged out from the  database if no longer present in Active Directory Domain Services. The  discovered data is also used when clients request a management point or  distribution point to ensure they receive the best possible site  system.&amp;nbsp; &lt;br /&gt;Credentials specified for each Active Directory forest are used for  both discovery and publishing and enable Configuration Manager 2012  sites to publish Configuration Manager site information in remote  trusted or untrusted forests. Publishing stores information such as site  system locations and capabilities, boundaries, and security information  required by client computers to establish trusted connections with site  systems and information such as the client's trust relationship with  the forest, and the management point's communication mode (HTTPS/HTTP)  and the network information (boundaries) that are used to locate the  most appropriate management point or distribution point to communicate  with. This enables client computers to more readily locate servers in a  trusted forest to ensure user targeted applications. &lt;br /&gt;&lt;b&gt;How to use AD Forest Discovery&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&amp;nbsp;Enable Forest Discovery Active Directory Forest Discovery is a new discovery method located  in the Administration workspace of the Configuration Manager console.&amp;nbsp;  It can be enabled on the central administration site and primary sites.&amp;nbsp;  It is not supported on secondary sites.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img border="0" height="134" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-69-65/2806.ForestDiscovery1.jpg" width="320" /&gt;&lt;br /&gt;To enable Active Directory Forest Discovery, open the Active  Directory Forest Discovery method properties dialog, and enable the  method by checking "Enable Active Directory Forest Discovery". &amp;nbsp;Active  Directory Forest Discovery discovers AD Sites and IP Subnets from the  forests, so there are two more flexible options asking whether you want  to create the AD Site or IP Subnet boundaries automatically based on the  discovery results. Discovery can be scheduled by hour/day/week.  Discovery will automatically create the boundaries, but it will still be  necessary for you to add the boundaries to a boundary group and to  associate them with a site system to ensure content is available to your  clients or the boundaries are used for site assignment.&amp;nbsp; &lt;br /&gt;&amp;nbsp;&lt;img border="0" height="320" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-69-65/3108.ForestDiscovery2.jpg" width="296" /&gt;&lt;br /&gt;Active Directory Forest Discovery can be run on demand by selecting  the "Run full discovery now" action from the ribbon or a right-click  menu.&lt;br /&gt;&amp;nbsp;&lt;img border="0" height="89" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-69-65/8637.ForestDiscovery3.jpg" width="320" /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Monitor Forest Discovery Running Status Active Directory Forest Discovery progress can be monitored by  viewing forest discovery log located in (SMS Installation  Directory)\Logs\ADForestDisc.log or by viewing Active Directory Forest  Discovery component status messages.&amp;nbsp; In the Configuration Manager  console, click &lt;b&gt;Monitoring&lt;/b&gt;, expand &lt;b&gt;System Status, &lt;/b&gt;click&lt;b&gt; Component Status, &lt;/b&gt;select &lt;b&gt;SMS_AD_Forest_Discovery_Manager,&lt;/b&gt; and click &lt;b&gt;Show Messages&lt;/b&gt; to see status messages for this component. &lt;br /&gt;&lt;img border="0" height="189" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-69-65/1055.ForestDiscovery4.jpg" width="320" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/b/configmgrteam/archive/2011/03/30/active-directory-forest-discovery-and-publishing-in-configuration-manager-2012-beta-2.aspx" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://blogs.technet.com/b/configmgrteam/archive/2011/03/30/active-directory-forest-discovery-and-publishing-in-configuration-manager-2012-beta-2.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-607338960706691931?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/607338960706691931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=607338960706691931' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/607338960706691931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/607338960706691931'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/active-directory-forest-discovery-and.html' title='Active Directory Forest Discovery and Publishing in Configuration Manager 2012 Beta 2'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-2476009605677804377</id><published>2011-04-20T18:09:00.000-07:00</published><updated>2011-04-20T18:09:20.926-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Delegation of control with SCVMM 2008 R2 self service portal</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;This topic is about delegation of controle of virtual machines with Virtual Machine Manager self service portal.&lt;br /&gt;you can make a profile&amp;nbsp;with in VMM, and the user of that profile can  only controle the virtual machines you want as an administrator.&lt;br /&gt;&lt;br /&gt;First you login for example via SharePoint Portal to the Vitual Machine environment :&lt;br /&gt;&lt;a href="http://mountainss.files.wordpress.com/2011/04/microsoft-vmm-self-service-portal.jpg"&gt;&lt;img alt="" class="aligncenter size-full wp-image-57" height="345" src="http://mountainss.files.wordpress.com/2011/04/microsoft-vmm-self-service-portal.jpg?w=450&amp;amp;h=345" title="Microsoft VMM Self Service Portal" width="450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;You login with the right user credentials to get in the VMM self service&amp;nbsp;portal.&lt;br /&gt;Then you get in the serverrole environment of Microsoft System Center Virtual Machine Manager.&lt;br /&gt;The administrator gives you the rights to the right environment in SCVMM with the right Virtual Machine to manage with&lt;br /&gt;delegation of controle.&lt;br /&gt;&lt;a href="http://mountainss.files.wordpress.com/2011/04/thumbernail-view.jpg"&gt;&lt;img alt="" class="aligncenter size-full wp-image-58" height="346" src="http://mountainss.files.wordpress.com/2011/04/thumbernail-view.jpg?w=450&amp;amp;h=346" title="Thumbernail view" width="450" /&gt;&lt;/a&gt;&lt;br /&gt;You can connect all your own virtual machine with the right delegation of controle :&lt;br /&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mountainss.wordpress.com/2011/04/20/delegation-of-control-with-scvmm-2008-r2-self-service-portal/" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://mountainss.wordpress.com/2011/04/20/delegation-of-control-with-scvmm-2008-r2-self-service-portal/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-2476009605677804377?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/2476009605677804377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=2476009605677804377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2476009605677804377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2476009605677804377'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/delegation-of-control-with-scvmm-2008.html' title='Delegation of control with SCVMM 2008 R2 self service portal'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-207827898466813113</id><published>2011-04-19T21:09:00.000-07:00</published><updated>2011-04-19T21:09:37.030-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Identity Manager'/><title type='text'>Quick “Report” of all OIM Open Tasks</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Here’s a quick SQL script that’ll list out all the open tasks with their login, date, and details:&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;select oti.sch_actual_start,oti.sch_data,usr.usr_login from oti inner join orc on oti.orc_key=orc.orc_key inner join usr on orc.usr_key=usr.usr_key where oti.sch_actual_start&amp;gt;’15-AUG-10′&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://idmrockstar.com/blog/2010/08/quick-report-of-all-oim-open-tasks/" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://idmrockstar.com/blog/2010/08/quick-report-of-all-oim-open-tasks/&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-207827898466813113?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/207827898466813113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=207827898466813113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/207827898466813113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/207827898466813113'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/quick-report-of-all-oim-open-tasks.html' title='Quick “Report” of all OIM Open Tasks'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-4268521994334128257</id><published>2011-04-17T16:23:00.000-07:00</published><updated>2011-04-17T16:23:03.693-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Access Manager'/><title type='text'>Oracle Access Management (OAM 11gR1)</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;# Oracle Access Manager 11gR1 provides a single authoritative source for all authentication and authorization services.&lt;br /&gt;# Oracle Access Manager 11g provides single sign-on (SSO), authentication, authorization to registered agents (in any combination) protecting resources. Agents include:&lt;br /&gt;&lt;br /&gt;* OAM 11g WebGates&lt;br /&gt;* OAM 10g WebGates&lt;br /&gt;* IDM Domain Agent&lt;br /&gt;* OSSO Agents (10g mod_osso)&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;# OAM 11g can be integrated with any Web applications currently using Oracle ADF Security and the OPSS SSO Framework&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gdbsinc.com/blog/" target="_blank"&gt; More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://www.gdbsinc.com/blog/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-4268521994334128257?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/4268521994334128257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=4268521994334128257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4268521994334128257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4268521994334128257'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/oracle-access-management-oam-11gr1.html' title='Oracle Access Management (OAM 11gR1)'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-7765381625668898432</id><published>2011-04-17T16:22:00.000-07:00</published><updated>2011-04-17T16:22:03.977-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Access Manager'/><title type='text'>Oracle Access Manager (11g OAM) Request Flow</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="entry-content"&gt;     &lt;h5&gt;&lt;strong&gt;&lt;a href="http://www.gdbsinc.com/blog/wp-content/uploads/2011/03/OAM-Request-Flow.png"&gt;&lt;img alt="" class="alignleft size-full wp-image-88" height="261" src="http://www.gdbsinc.com/blog/wp-content/uploads/2011/03/OAM-Request-Flow.png" title="OAM Request Flow" width="320" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/strong&gt;&lt;/h5&gt;&lt;h5&gt;&lt;strong&gt;Oracle Access Manager Request Flow:&lt;/strong&gt;&lt;/h5&gt;&lt;ol&gt;&lt;li&gt;The user tries to access an application (resource) protected by Oracle Access Manager 11gR1 using his web browser.&lt;/li&gt;&lt;li&gt;The Oracle Access Manager agent&lt;a href="http://download.oracle.com/docs/cd/E14571_01/core.1111/e10106/imha.htm#sthref1277"&gt;&lt;sup&gt;&amp;nbsp;&lt;/sup&gt;&lt;/a&gt;  intercepts the request and tries to ascertain if the user has an  authenticated session. Since this is the user’s first access, the user  is redirected to the Oracle Access Manager 11gR1 Access Server for  authentication.&lt;/li&gt;&lt;li&gt;Access Server’s credential collector component displays a Login Form  as defined in authentication scheme. The user submits his credentials  to the Access Server.&lt;/li&gt;&lt;li&gt;OAM validates the user’s credentials against user directory and  generates a security token. The user is redirected to the resource he  tried to access in Step 1.&lt;a name='more'&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ol&gt;&lt;strong&gt;Oracle Access Manager Session revalidate request flow:&lt;/strong&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The Oracle Access Manager agent intercepts the request and extracts the security token (cookie).&lt;/li&gt;&lt;li&gt;The Oracle Access Manager agent then makes a back channel call to  the Access Server (OAP over TCP) to validate the session and authorize  the request.&lt;/li&gt;&lt;li&gt;Oracle Access Manager authenticates the user from the LDAP repository.&lt;/li&gt;&lt;li&gt;Access server verifies the user’s permissions against the configured policy for the web resource.&lt;/li&gt;&lt;li&gt;Access server responds to the WebGate request indicating that access is allowed.&lt;/li&gt;&lt;li&gt;The Oracle Access Manager agent allows the request to go through.&lt;/li&gt;&lt;li&gt;The user is now able to access the web resource he tried to access in Step 1.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="entry-utility"&gt;          &lt;span class="cat-links"&gt;       &lt;span class="entry-utility-prep entry-utility-prep-cat-links"&gt;Posted in&lt;/span&gt; &lt;a href="http://www.gdbsinc.com/blog/?cat=9" rel="category" title="View all posts in 11g IDM"&gt;11g IDM&lt;/a&gt;     &lt;/span&gt;      &lt;span class="meta-sep"&gt;|&lt;/span&gt;             &lt;span class="comments-link"&gt;&lt;a href="http://www.gdbsinc.com/blog/?p=87#respond" title="Comment on Oracle Access Manager (11g OAM) Request Flow"&gt;Leave a comment&lt;/a&gt;&lt;/span&gt;        &lt;/div&gt;&lt;h2 class="entry-title"&gt;&lt;a href="http://www.gdbsinc.com/blog/?p=84" rel="bookmark" title="Permalink to Oracle Access Manager 11gR1 Architecture"&gt;Oracle Access Manager 11gR1 Architecture&lt;/a&gt;&lt;/h2&gt;&lt;div class="entry-meta"&gt;     &lt;span class="meta-prep meta-prep-author"&gt;Posted on&lt;/span&gt; &lt;a href="http://www.gdbsinc.com/blog/?p=84" rel="bookmark" title="1:13 PM"&gt;&lt;span class="entry-date"&gt;March 25, 2011&lt;/span&gt;&lt;/a&gt; &lt;span class="meta-sep"&gt;by&lt;/span&gt; &lt;span class="author vcard"&gt;&lt;a class="url fn n" href="http://www.gdbsinc.com/blog/?author=2" title="View all posts by kyadav"&gt;kyadav&lt;/a&gt;&lt;/span&gt;   &lt;/div&gt;Oracle Access Manager 11&lt;em&gt;g&lt;/em&gt;R1 architecture:&lt;br /&gt;&lt;a href="http://www.gdbsinc.com/blog/wp-content/uploads/2011/03/Oracle-Access-Manager-11gR1-Architecture.png"&gt;&lt;img alt="" class="alignleft size-full wp-image-85" height="181" src="http://www.gdbsinc.com/blog/wp-content/uploads/2011/03/Oracle-Access-Manager-11gR1-Architecture.png" title="Oracle Access Manager 11gR1 Architecture" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;User agents: These include web browsers, Java applications, and Web  services applications. The user agents access the Access Server and the  administration and configuration tools using HTTP.&lt;/li&gt;&lt;li&gt;Protected resources: A protected resource is an application or web  page to which access is restricted. Access to protected resources is  controlled by WebGates or Custom Agents.&lt;/li&gt;&lt;li&gt;Administration and configuration tools: Oracle Access Manager can be  administered and configured by the Oracle Access Manager console, the  Oracle Enterprise Manager Fusion Middleware Control and the Oracle  Enterprise Manager Grid Control, and the WebLogic Scripting Tool (WLST).&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.gdbsinc.com/blog/" target="_blank"&gt; More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://www.gdbsinc.com/blog/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-7765381625668898432?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/7765381625668898432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=7765381625668898432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7765381625668898432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7765381625668898432'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/oracle-access-manager-11g-oam-request.html' title='Oracle Access Manager (11g OAM) Request Flow'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-4408593808482834076</id><published>2011-04-17T16:19:00.000-07:00</published><updated>2011-04-17T16:19:32.600-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Identity Manager'/><title type='text'>Starting/Stoping Oracle 11g Identity management stack</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Starting/Stoping Oracle 11g Identity management stack&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Starting IDM Admin server:&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;MW_HOME/user_projects/domains/domain_name/startWebLogic.sh&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Starting IDM wls_ods1 managed server:&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;MW_HOME/user_projects/domains/domain_name/startWebLogic.sh wls_ods1&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Starting Oracle Internet Directory and Oracle Virtual Directory:&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;ORACLE_INSTANCE/bin/opmnctl startall&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;You can verify that the system components have started by:&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;ORACLE_INSTANCE/bin/opmnctl status -l&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Starting IAM Admin server:&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;MW_HOME/user_projects/domains/domain_name/startWebLogic.sh&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Starting OAM, SOA and OIM managed servers:&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;MW_HOME/user_projects/domains/domain_name/bin/startManagedWebLogic.sh oam_server1&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;MW_HOME/user_projects/domains/domain_name/bin/startManagedWebLogic.sh soa_server1&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Always start SOA managed server, before OIM. Although both independent, but OIM needs some of SOA workflow functionality.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.gdbsinc.com/blog/?p=46" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://www.gdbsinc.com/blog/?p=46&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-4408593808482834076?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/4408593808482834076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=4408593808482834076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4408593808482834076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4408593808482834076'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/startingstoping-oracle-11g-identity.html' title='Starting/Stoping Oracle 11g Identity management stack'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8789149312530983195</id><published>2011-04-17T16:12:00.000-07:00</published><updated>2011-04-17T16:12:33.952-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Internet Directory'/><title type='text'>How to migrate users from Ebusiness suite 11i/R12 to OID</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt; After Integrating the Existing E-business suite R12 Instance with Single Sign On(OID)&lt;br /&gt;we will find that the existing users are NOT automatically migrated to the Oracle Internet Directory. &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Later on depending upon the provisioning profile It will synchronize accordingly.(default setting is bi-directional).&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;step I.Use AppsUserExport to export apps user information from R12 E-Business Suite…&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;$java oracle.apps.fnd.oid.AppsUserExport -v -dbc $INST_TOP/appl/fnd/12.0.0/secure/VIS.dbc&lt;br /&gt;-o usersr12.txt -pwd apps -g -l usersr12.log&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Step II.Convert Intermediate LDIF file to Final LDIF File from OID Server…&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Transfer the file usersr12.txt which we got from AppsUserExport to OID Server and&lt;br /&gt;Execute the following command&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;$ldifmigrator “input_file=usersr12.txt” “output_file=usersr12.ldif”&lt;br /&gt;“s_UserContainerDN=cn=users,dc=vectorconsulting,dc=co.uk”&lt;br /&gt;“s_UserNicknameAttribute=uid”&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Output&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Migration of LDIF data completed.All entries are successfully migrated…&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Step III.Loading Final LDIF File into Oracle Internet Directory..&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;a. disable the provisioning profile with oidprovtool..&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;$oidprovtool operation=disable ldap_host=sso.vectorconsulting.co.uk ldap_port=369&lt;br /&gt;ldap_user_dn=cn=orcladmin ldap_user_password=welcome123 application_dn=”orclApplicationCommonName=VIS,&lt;br /&gt;cn=EBusiness,cn=Products,cn=OracleContext,dc=vectorconsulting,dc=co.uk” profile_mode=BOTH&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;b. Stop OID Server using $ORACLE_HOME/opmn/bin/opmnctl stopall&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;c. Incase you used oidmon or oidctl then check using ldapcheck whether they are stopped..&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;d. Shutdown any other running OID processes manually by&lt;br /&gt;oidctl connect=VIS server= instance=3 stop&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;and now grep the procesess and ensure that no OID processes are running..&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;e. Finally coming to the actual loading part.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;we use bulkload for loading but before loading we should use the -check and -generate option&lt;br /&gt;as follows to check duplicates and if duplicates are found in the logfile ,manually edit the LDIF file&lt;br /&gt;and remove those user entries like follows&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;$bulkload connect=”IASDB” check=true generate=true file=”usersr12.ldif”&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vivekrajendran.wordpress.com/2011/02/23/how-to-migrate-users-from-ebusiness-suite-11ir12-to-oid/" target="_blank"&gt; More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://vivekrajendran.wordpress.com/2011/02/23/how-to-migrate-users-from-ebusiness-suite-11ir12-to-oid/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8789149312530983195?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8789149312530983195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8789149312530983195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8789149312530983195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8789149312530983195'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/how-to-migrate-users-from-ebusiness.html' title='How to migrate users from Ebusiness suite 11i/R12 to OID'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-6299782575463585320</id><published>2011-04-17T16:10:00.001-07:00</published><updated>2011-04-17T16:10:44.046-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Internet Directory'/><title type='text'>what is oidpasswd tool in oracle identity management and How to Use it.</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;We have to use oidpasswd in many important situations in Oracle Identity Management or in Oracle Application Server. &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;It can be used&lt;br /&gt;1.To reset ods internal user password (ODS is the internal user for Oracle Identity Management)&lt;br /&gt;using&lt;br /&gt;$oidpasswd&lt;br /&gt;$enter old password : *******&lt;br /&gt;$enter new password : *******&lt;br /&gt;$confirm new password : *******&lt;br /&gt;Output:- password is reset(for ODS).&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;2.To reset orcladmin(super user for Oracle Identity Management)without  knowing the password of which we can not do anything in OIM.&lt;br /&gt;$oidpasswd connect=connect_string reset_su_password=true&lt;br /&gt;it will ask for the database sys password&lt;br /&gt;and ask the new password for orcladmin&lt;br /&gt;if you confirm the new password your “orcladmin” password is reset.&lt;br /&gt;3.To unlock orcladmin password (if password is expired)&lt;br /&gt;$oidpasswd connect=connect_string unlock_su_acct=true&lt;br /&gt;enter the current password of orcladmin&lt;br /&gt;and the “orcladmin” user is unlocked&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://vivekrajendran.wordpress.com/2011/02/23/what-is-oidpasswd-tool-in-oracle-identity-management-and-how-to-use-it/" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://vivekrajendran.wordpress.com/2011/02/23/what-is-oidpasswd-tool-in-oracle-identity-management-and-how-to-use-it/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-6299782575463585320?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/6299782575463585320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=6299782575463585320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6299782575463585320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6299782575463585320'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/what-is-oidpasswd-tool-in-oracle.html' title='what is oidpasswd tool in oracle identity management and How to Use it.'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-2896489672157172104</id><published>2011-04-17T16:09:00.000-07:00</published><updated>2011-04-17T16:09:23.605-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Internet Directory'/><title type='text'>Oracle Internet Directory Integration with Microsoft Active Directory</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Pre-requisites&lt;br /&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;1.Install Oracle Identity Management Suite 10.1.4.0.1-Choose  Infrastructure and Metadata Repository option and choose components  SSO,ODISRV,AND All the components except Certificate Authroity and HA).&lt;br /&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;2.Install Windows 2003 Server and Configure Microsoft Active Directory in that Server&lt;br /&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;3.Bring these Servers in the same network. &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Step -I.&lt;br /&gt;Login to the OID Server and invoke dipassistant(oracle directory  integration and provisioning admin console) using the following options&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;$dipassistant -gui&lt;br /&gt;login as dipadmin and password will be the same as of the orcladmin super user which you gave during the installation of OID.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;In the dipadmin console from the left pane in System Objects choose  Active Directory beneath the icon ConfigurationSet1 and In the right  pane You will see the Express Configuration Wizard.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Enter the Active Directory Server information and in credentials enter the Superuser Account as administrator@ and in the connector name give any reasonable name and&lt;br /&gt;if you press then the Import and export profile prepends the connector name and then&lt;br /&gt;Click the check box Configure Access Control Policies if you want to enforce ACL.and then press OK to save this information which will start the actual integration.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;On Successfull Integration dipadmin displays a success message which is given as below&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Step II- Enable Bidirectional Synchronization in dipadmin for OID to AD&lt;br /&gt;To achieve the bi-directional Synchronization — in dipadmin console choose the configured configset1 in the&lt;br /&gt;left pane(system objects and in the right pane you will see the configured adImport and adExport(since i have given&lt;br /&gt;the connector name as ad).choose those connector profile and edit and Enable those profiles for both export and Import.&lt;br /&gt;If You enable both ,then synchronization of Users is bi-directional(both ways)(i.e from OID to AD and from AD to OID).&lt;br /&gt;you can also note that bootstrap status(which has not started yet). I have given the screenshots below for editing&lt;br /&gt;the connector profiles.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Enable AD Import connector Profile&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Enable AD Export connector Profile&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Step-III.&lt;br /&gt;The initial migration of Users from Microsoft Active Directory to Oracle Internet Directory is called “bootstrap” process.&lt;br /&gt;to do the bootstrap we need to execute the command as shown below..&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Migrating initial Users from AD to OID&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Confirm the bootstrap is successfull by choosing the adImport profile  (connector) in the configset1(in the right pane and doing an edit and  check the status) which will show you that bootstrap is successfull  which i have shown below.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Check the bootstrap(migration of users from AD to OID) is successfull&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Step IV:-&lt;br /&gt;Now the initial Import of Users from AD to OID is complete.To start the  synchronization of Users that are created both in AD and OID we need to  start the odiserver(odisrv) with the configuration set 1(the one we have  configured with dipadmin) we have use the following command&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;start the odisrv using configset1 to facilitate synchronization of Users bothways&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;You can also verify that synchronization has started by editing the  profiles and checking the status or by checking odisrvlogs in  $ORACLE_HOME/ldap/logs ,you can also find the trc and aud files for  these connectors in $ORACLE_HOME/ldap/odi/logs.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Step 5:-&lt;br /&gt;The final step in the configuration process is to deploy the Active Directory External Authentication Plug-in,&lt;br /&gt;which validates user-supplied passwords with AD during a user login sequence.&lt;br /&gt;The following steps involve execution of a Unix shell script.&lt;br /&gt;$ cd $ORACLE_HOME/ldap/admin&lt;br /&gt;$ sh oidspadi.sh&lt;br /&gt;A series of messages and prompts will be displayed as the script executes. Sample prompt responses:&lt;br /&gt;Please enter Active Directory host name: ad.vectorconsulting.co.uk&lt;br /&gt;Do you want to use SSL to connect to Active Directory? (y/n) n&lt;br /&gt;Please enter Active Directory port number [389]: 389&lt;br /&gt;Please enter DB connect string: iasdb&lt;br /&gt;Please enter ODS password: oracleadmin1&lt;br /&gt;Please enter confirmed ODS password: admin01&lt;br /&gt;Please enter OID host name: sso.vectorconsulting.co.uk&lt;br /&gt;Please enter OID port number [389]: 13061&lt;br /&gt;Please enter orcladmin password: oracleadmin01&lt;br /&gt;Please enter confirmed orcladmin password: oracleadmin01&lt;br /&gt;Please enter the subscriber common user search base [orclcommonusersearchbase]: cn=Users,dc=vectorconsulting,dc=co,dc=uk&lt;br /&gt;Please enter the Plug-in Request Group DN:&lt;br /&gt;Please enter the exception entry property [(!(objectclass=orcladuser))]:&lt;br /&gt;Do you want to setup the backup Active Directory for failover? (y/n) n&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Return to the Oracle Directory Manager console upon successful completion&lt;br /&gt;of the plug-in deployment process and navigate to the click the Plug-In Management fork.&lt;br /&gt;Make sure that the Plug-in Enable property is set for both adwhencompare and adwhenbind.&lt;br /&gt;Testing&lt;br /&gt;At this point, OID has been populated with an initial set of users and groups via bootstrap migration from Active directory,&lt;br /&gt;and the Oracle Directory Integration and Provisioning tool has been configured such that it will use the Active Directory&lt;br /&gt;Connector to keep this information synchronized. The Oracle Directory Server has been directed to authenticate users&lt;br /&gt;migrated from Active Directory using the Oracle-supplied Active Directory External Authentication&lt;br /&gt;Plug-in. It should now be possible to log in to Oracle SSO or any integrated applications like E-Business Suite using&lt;br /&gt;one of the migrated Active Directory users with its corresponding password.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Note: The username must be of the form name@&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Step VI:- open the Oracle Directory Manager and verify that Users are Imported from Active Directory by navigating&lt;br /&gt;to defaut domain and cn=Users and find the users of Active Directory which i have shown below.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Verify Active Directory Users are imported in OID&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vivekrajendran.wordpress.com/2011/02/23/oracle-internet-directory-integration-with-microsoft-active-directory/" target="_blank"&gt; More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://vivekrajendran.wordpress.com/2011/02/23/oracle-internet-directory-integration-with-microsoft-active-directory/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-2896489672157172104?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/2896489672157172104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=2896489672157172104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2896489672157172104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2896489672157172104'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/oracle-internet-directory-integration.html' title='Oracle Internet Directory Integration with Microsoft Active Directory'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-938466926988560535</id><published>2011-04-16T13:14:00.000-07:00</published><updated>2011-04-16T13:14:55.094-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OVF'/><title type='text'>What is OVF?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;With the rapid adoption of virtualization, there is a great need for a  standard way to package and distribute virtual machines. VMware and  other leaders in the virtualization field have created the Open  Virtualization Format (OVF), a platform independent, efficient,  extensible, and open packaging and distribution format for virtual  machines.&lt;br /&gt;OVF enables efficient, flexible, and secure distribution of  enterprise software, facilitating the mobility of virtual machines and  giving customers vendor and platform independence. Customers can deploy  an OVF formatted virtual machine on the virtualization platform of their  choice.&lt;br /&gt;With OVF, customers’ experience with virtualization is greatly  enhanced, with more portability, platform independence, verification,  signing, versioning, and licensing terms. OVF lets you:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Improve your user experience with streamlined installations&lt;/li&gt;&lt;li&gt;Offer customers virtualization platform independence and flexiblity&lt;/li&gt;&lt;li&gt;Create complex pre-configured multi-tiered services more easily&lt;/li&gt;&lt;li&gt;Efficiently deliver enterprise software through portable virtual machines&lt;/li&gt;&lt;li&gt;Offer platform-specific enhancements and easier adoption of advances in virtualization through extensibility&lt;/li&gt;&lt;li&gt;&lt;a name='more'&gt;&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;The portability and interoperability inherent in OVF will enable the  growth of the virtual appliance market as well as virtualization as a  whole.&lt;br /&gt;&lt;a class="no" href="" id="c53574" name="c53574"&gt;&lt;/a&gt; &lt;h3&gt;Package and Distribute OVF-Formatted Virtual Machines&lt;/h3&gt;The Open Virtualization Format (OVF) describes an open, secure,  portable, efficient, and flexible format for the packaging and  distribution of one or more virtual machines. Key features and benefits  of OVF:&lt;br /&gt;&lt;strong&gt;Enables optimized distribution&lt;/strong&gt;- OVF enables the  portability and distribution of virtual appliances. In addition to  support for compression for more efficient package transfers, OVF  supports industry standard content verification and integrity checking,  and provides a basic scheme for the management of software licensing.&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.vmware.com/appliances/getting-started/learn/ovf.html" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://www.vmware.com/appliances/getting-started/learn/ovf.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-938466926988560535?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/938466926988560535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=938466926988560535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/938466926988560535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/938466926988560535'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/what-is-ovf.html' title='What is OVF?'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-3194203442248110955</id><published>2011-04-11T21:17:00.000-07:00</published><updated>2011-04-11T21:17:36.823-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>How to find Apache Version in Oracle Application Server</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Oracle HTTP Server is developed using Apache server as base. So if you have Oracle Application Server installed in your environment and if you want to know the in built Apache version then you can use either of the approaches.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;1. Goto $ORACLE_HOME/Apache/Apache/bin and execute ./httpd -v or ./httpd -version.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;In most of the environments you may not be succesful with the above command then you can use 2nd approach as given below.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;2. UNIX:&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;$ORACLE_BASE/oraInventory/Components/oracle.apache.apache/&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;or&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;$ORACLE_HOME/inventory/Components/oracle.apache.apache/&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;WINDOWS:&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;INST_LOC\Components\oracle.apache.apache\&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;INST_LOC is a regitry entry, which was used by the Installation:&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\inst_loc&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://talkidentity.blogspot.com/2011/01/how-to-find-apache-version-in-oracle.html" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://talkidentity.blogspot.com/2011/01/how-to-find-apache-version-in-oracle.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-3194203442248110955?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/3194203442248110955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=3194203442248110955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3194203442248110955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3194203442248110955'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/how-to-find-apache-version-in-oracle.html' title='How to find Apache Version in Oracle Application Server'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8965967659136193143</id><published>2011-04-11T20:42:00.000-07:00</published><updated>2011-04-11T20:42:08.120-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcenter'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Access Manager'/><title type='text'>Enabling SSO for WebCenter 11g using Oracle Access Manager (OAM)</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Configuring Single sign-on (SSO) between WebCenter components and/or other partner applications is an important part of WebCenter setup.  OAM configuration with a WebCenter application is covered in detail in the WebCenter Admin Guide on OTN.  Other solutions that can leveraged for SSO are SAML (“built-in” solution in WebLogic Server), Oracle SSO (OSSO), Windows Native Auth (WNA), etc.   Each one has different setup requirements but the following few common “concepts” and functional points exist across the board.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Policy Decision Point (PDP):  Point that evaluates and makes (authorization) decisions&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Policy Enforcement Point (PEP): Point which intercepts a request and channels it to the PDP&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Policy Administration Point (PAP): Points which help manage and administer policies&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Identity Assertion Provider (IAP): A type of Authenticator that allows users or processes to assert their identity based on tokens (specific to the SSO solution)&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;The figure below shows where these functional points are.  If you note, the Webgate, an out-of-the-box plugin that intercepts HTTP requests and forwards them to the Access Manager is the PEP and the Access Server the PDP.  It also shows the sequence of the events in Single sign-on process.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://mdevgan.wordpress.com/2011/01/09/enabling-sso-for-webcenter-11g-using-oracle-access-manager-oam/" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://mdevgan.wordpress.com/2011/01/09/enabling-sso-for-webcenter-11g-using-oracle-access-manager-oam/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8965967659136193143?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8965967659136193143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8965967659136193143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8965967659136193143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8965967659136193143'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/enabling-sso-for-webcenter-11g-using.html' title='Enabling SSO for WebCenter 11g using Oracle Access Manager (OAM)'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8632010847508937045</id><published>2011-04-11T16:54:00.000-07:00</published><updated>2011-04-11T16:54:27.704-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Access Manager'/><title type='text'>Using Apache to simulate an SSL Load balancer</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;The numbers indicate the TCP port used on the server side. All of the red lines are HTTP. The green line (from OHS to the OAM Server) is the OAM NAP protocol.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;1. SSLProxyEngine on  &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;2. &lt;proxy *=""&gt;  &lt;br /&gt;3.    Order deny,allow  &lt;br /&gt;4.    Allow from all  &lt;br /&gt;5. &lt;/proxy&gt;  &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;6.   &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;7. RewriteEngine on  &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;8. ProxyPreserveHost on  &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;9.   &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;10. NameVirtualHost *:443  &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;11.   &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;12. &lt;virtualhost *:443=""&gt;  &lt;br /&gt;13.   ServerName login.oracledemo.com  &lt;br /&gt;14.   &lt;br /&gt;15.   SSLEngine on  &lt;br /&gt;16.   SSLProtocol all -SSLv2  &lt;br /&gt;17.   SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW  &lt;br /&gt;18.   SSLCertificateFile /home/oracle/simpleCA/login.oracledemo.com.crt  &lt;br /&gt;19.   SSLCertificateKeyFile /home/oracle/simpleCA/login.oracledemo.com.key  &lt;br /&gt;20.   &lt;br /&gt;21.   ProxyPass / http://localhost:14100/  &lt;br /&gt;22.   ProxyPassReverse / http://localhost:14100/  &lt;br /&gt;23. &lt;/virtualhost&gt;  &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;24.   &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;25. &lt;virtualhost *:443=""&gt;  &lt;br /&gt;26.   ServerName idm11g.oracledemo.com  &lt;br /&gt;27.   &lt;br /&gt;28.   SSLEngine on  &lt;br /&gt;29.   SSLProtocol all -SSLv2  &lt;br /&gt;30.   SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW  &lt;br /&gt;31.   SSLCertificateFile /home/oracle/simpleCA/idm11g.oracledemo.com.crt  &lt;br /&gt;32.   SSLCertificateKeyFile /home/oracle/simpleCA/idm11g.oracledemo.com.key  &lt;br /&gt;33.   &lt;br /&gt;34.   RequestHeader set IS_SSL ssl  &lt;br /&gt;35.   &lt;br /&gt;36.   ProxyPass / http://localhost:7777/  &lt;br /&gt;37.   ProxyPassReverse / http://localhost:7777/  &lt;br /&gt;38. &lt;/virtualhost&gt;  &lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;SSLProxyEngine on&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;proxy *=""&gt;&lt;br /&gt;Order deny,allow&lt;br /&gt;Allow from all&lt;br /&gt;&lt;/proxy&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;RewriteEngine on&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;ProxyPreserveHost on&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;NameVirtualHost *:443&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;virtualhost *:443=""&gt;&lt;br /&gt;ServerName login.oracledemo.com&lt;br /&gt;&lt;br /&gt;SSLEngine on&lt;br /&gt;SSLProtocol all -SSLv2&lt;br /&gt;SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW&lt;br /&gt;SSLCertificateFile /home/oracle/simpleCA/login.oracledemo.com.crt&lt;br /&gt;SSLCertificateKeyFile /home/oracle/simpleCA/login.oracledemo.com.key&lt;br /&gt;&lt;br /&gt;ProxyPass / http://localhost:14100/&lt;br /&gt;ProxyPassReverse / http://localhost:14100/&lt;br /&gt;&lt;/virtualhost&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;virtualhost *:443=""&gt;&lt;br /&gt;ServerName idm11g.oracledemo.com&lt;br /&gt;&lt;br /&gt;SSLEngine on&lt;br /&gt;SSLProtocol all -SSLv2&lt;br /&gt;SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW&lt;br /&gt;SSLCertificateFile /home/oracle/simpleCA/idm11g.oracledemo.com.crt&lt;br /&gt;SSLCertificateKeyFile /home/oracle/simpleCA/idm11g.oracledemo.com.key&lt;br /&gt;&lt;br /&gt;RequestHeader set IS_SSL ssl&lt;br /&gt;&lt;br /&gt;ProxyPass / http://localhost:7777/&lt;br /&gt;ProxyPassReverse / http://localhost:7777/&lt;br /&gt;&lt;/virtualhost&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;There are a couple of interesting bits in that configuration...&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;First is that when you use mod_proxy Apache will use the host name in the URL specified in ProxyPass when it talks to the back end server. In this case that means that the OHS server would see a request with a host header that said "localhost:7777". Which can confuse the application and isn't at all what a conventional load balancer would do. Adding "ProxyPreserveHost on" to the configuration makes mod_proxy use the same name when it talks to the backend server (again OHS in my case) as the browser sent in the original request. &lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://fusionsecurity.blogspot.com/2011/04/using-apache-to-simulate-ssl-load.html" target="_blank"&gt; More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://fusionsecurity.blogspot.com/2011/04/using-apache-to-simulate-ssl-load.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8632010847508937045?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8632010847508937045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8632010847508937045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8632010847508937045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8632010847508937045'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/using-apache-to-simulate-ssl-load.html' title='Using Apache to simulate an SSL Load balancer'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-6498755390232077499</id><published>2011-04-11T16:52:00.000-07:00</published><updated>2011-04-11T16:52:51.230-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Access Manager'/><title type='text'>OAM 11g session management</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In OAM 10g and other products in the WAM space there is no actual  tracking of a user's session. Usually in those products when a user logs  in they are issued an encrypted cookie that tracks the login time,  authentication level, the idle and maximum session times and a few other  bits of information. If a user had such a cookie they were logged in,  if they didn't they weren't. This sort of architecture was designed in a  time when building massively scalable session tracking mechanisms  wasn't really possible; in other words there was no way to build a  million concurrent user SSO scheme deployed worldwide if you had to keep  track of every active user session in a database or LDAP directory. &lt;br /&gt;Times have changed. &lt;br /&gt;OAM 11g takes advantage of a cool technology called Oracle Coherence. I'd tell you what Coherence does, but they do a pretty good job right there: &lt;br /&gt;&lt;blockquote&gt;Coherence provides replicated and distributed (partitioned) data  management and caching services on top of a reliable, highly scalable  peer-to-peer clustering protocol. Coherence has no single points of  failure; it automatically and transparently fails over and redistributes  its clustered data management services when a server becomes  inoperative or is disconnected from the network. When a new server is  added, or when a failed server is restarted, it automatically joins the  cluster and Coherence fails back services to it, transparently  redistributing the cluster load. Coherence includes network-level fault  tolerance features and transparent soft re-start capability to enable  servers to self-heal&lt;/blockquote&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;. &lt;/blockquote&gt;By plugging Coherence into the OAM architecture Oracle added the ability  of the OAM Server to track all active users sessions without needing to  go back to a massive central store (for example a database) and without  needing to worry about building a replication strategy. Coherence hides  all of that complexity and solves what is still a massive problem for  some of our competitors.  In the sequence diagram in my previous post  I only drew the lines for HTTP traffic. I left out a bunch of stuff  like the OAP communication from WebGate to OAM Server and the fact that  the OAM Server will check that the session is active and legal before  granting access. The more accurate, but still simplified, OAM  architecture diagram looks more like this: &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-jxQl3QABGpU/TaNeGEENhdI/AAAAAAAAADI/07qoWvu6qhQ/s1600/Screen%2Bshot%2B2011-04-11%2Bat%2B4.01.03%2BPM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="165" src="http://3.bp.blogspot.com/-jxQl3QABGpU/TaNeGEENhdI/AAAAAAAAADI/07qoWvu6qhQ/s320/Screen%2Bshot%2B2011-04-11%2Bat%2B4.01.03%2BPM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Each time the OAM WebGate talks to the OAM Server to ask "is the user  authorized to see this resource?" the OAM Server checks the Coherence  cache and will say "NO!" if the session has been deleted. &lt;br /&gt;So if you want to terminate an user's session you can! &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://fusionsecurity.blogspot.com/2011/04/oam-11g-session-management.html" target="_blank"&gt; More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://fusionsecurity.blogspot.com/2011/04/oam-11g-session-management.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-6498755390232077499?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/6498755390232077499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=6498755390232077499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6498755390232077499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6498755390232077499'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/oam-11g-session-management.html' title='OAM 11g session management'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-jxQl3QABGpU/TaNeGEENhdI/AAAAAAAAADI/07qoWvu6qhQ/s72-c/Screen%2Bshot%2B2011-04-11%2Bat%2B4.01.03%2BPM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-1165782382827301725</id><published>2011-04-11T16:51:00.000-07:00</published><updated>2011-04-11T16:51:26.788-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Access Manager'/><title type='text'>OAM 11g Single Sign-On and OAM 11g Cookies</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt; This post is part of a larger series on Oracle Access Manager 11g called Oracle Access Manager Academy. &lt;a href="http://fusionsecurity.blogspot.com/2011/03/oracle-access-manager-academy-from.html"&gt;An index to the entire series with links to each of the separate posts is available&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Plus if you're already familiar  with OSSO or OAM 10g you probably already know what their cookies look  like. So for the purposes of this post I'm only going talk about OAM 11g  Server and the 11g WebGate cookies when you do an "HTML form" style  login. &lt;br /&gt;Basically if you want the contents Eric's post in pretty pictures and  simplified down to include only the 11g cookies then this post is for  you! &lt;a href="" name="more"&gt;&lt;/a&gt; &lt;br /&gt;Here's a very simple diagram of the communication between the user, one OAM Server, one WebGate and one Application: &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt; &lt;a href="http://4.bp.blogspot.com/-rB6Tr4Js9-E/TaI7nl0hUJI/AAAAAAAAACo/_t_zEBp0SNQ/s1600/Screen%2Bshot%2B2011-04-10%2Bat%2B7.21.41%2BPM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="114" src="http://4.bp.blogspot.com/-rB6Tr4Js9-E/TaI7nl0hUJI/AAAAAAAAACo/_t_zEBp0SNQ/s320/Screen%2Bshot%2B2011-04-10%2Bat%2B7.21.41%2BPM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note: In this diagram I've separated out the WebGate and the  Application, though in reality the WebGate is plugged into the OHS  Server and the app could be something as simple as a .CGI running in the  same server. I've also shown the user talking directly to the OAM  Server; in the real world this interaction would likely be through an  OHS server with mod_wl installed. &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://fusionsecurity.blogspot.com/2011/04/oam-11g-single-sign-on-and-oam-11g.html" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://fusionsecurity.blogspot.com/2011/04/oam-11g-single-sign-on-and-oam-11g.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-1165782382827301725?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/1165782382827301725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=1165782382827301725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/1165782382827301725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/1165782382827301725'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/oam-11g-single-sign-on-and-oam-11g.html' title='OAM 11g Single Sign-On and OAM 11g Cookies'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-rB6Tr4Js9-E/TaI7nl0hUJI/AAAAAAAAACo/_t_zEBp0SNQ/s72-c/Screen%2Bshot%2B2011-04-10%2Bat%2B7.21.41%2BPM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-2716926197734579651</id><published>2011-04-10T10:19:00.000-07:00</published><updated>2011-04-10T10:19:30.458-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='weblogic'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Internet Directory'/><title type='text'>Oracle Internet Directory (OID) and Weblogic installation on Linux</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Installation manual:&lt;br /&gt;&lt;br /&gt;http://download.oracle.com/docs/cd/E17904_01/install.1111/e12002/instps2001.htm&lt;br /&gt;&lt;br /&gt;Basic steps:&lt;br /&gt;1. Install Oracle&lt;br /&gt;2. Install OID (and FMW control and ODSM)&lt;br /&gt;Oracle installation is quite trivial, so let’s focus on the OID installation.&lt;br /&gt;- Just remember to use the AL32UTF8 character set on the database!&lt;br /&gt;You need to download:&lt;br /&gt;- Oracle WebLogic Server 10.3.4.&lt;br /&gt;- Oracle Identity Management 11.1.1.2.0 &amp;amp; 11.1.1.3.0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Actual installation: &lt;br /&gt;1. Install WLS 10.3.4&lt;br /&gt;- Run the installation .bin&lt;br /&gt;* In 64 bit environments use: JAVA_HOME/bin/java -jar wls1034_generic.jar&lt;br /&gt;* You need JDK 1.6 or later&lt;br /&gt;- Create a new FMW home&lt;br /&gt;- Register for security updates..&lt;br /&gt;- Typical or Custom&lt;br /&gt;- Change or accept the installation directories (df -h …)&lt;br /&gt;- Summary =&amp;gt; Next&lt;br /&gt;- Installation…&lt;br /&gt;2. Install OID 11.1.1.2.0&lt;br /&gt;- unzip ../ofm_idm_linux_11.1.1.2.0_32_disk1_1of1.zip …&lt;br /&gt;- ./runInstaller&lt;br /&gt;- Install Software – DO NOT CONFIGURE!&lt;br /&gt;- Use SAME MIDDLEWARE HOME as WLS above!&lt;br /&gt;- Oracle Home Directory: This will be the directory name under Middleware Home&lt;br /&gt;- Installation …&lt;br /&gt;- Run root script: /middleware_home_directory/oracle_home_dir/oracleRoot.sh&lt;br /&gt;- Save Summary.&lt;br /&gt;3. Install OID 11.1.1.3.0 Patch Set&lt;br /&gt;- unzip ../ofm_idm_linux_11.1.1.3.0_32_disk1_1of1.zip …&lt;br /&gt;- ./runInstaller&lt;br /&gt;- Install Software&lt;br /&gt;- Use same homes !&lt;br /&gt;- Next, next&lt;br /&gt;- Root script&lt;br /&gt;- Save Summary&lt;br /&gt;OID Configuration with FMW Control and ODSM:&lt;br /&gt;1. Configuration&lt;br /&gt;/middleware_home_directory/oracle_home_dir/bin/config.sh&lt;br /&gt;- Installer starts&lt;br /&gt;- Create new domain&lt;br /&gt;=&amp;gt; FMW Control is being configured to manage OID here&lt;br /&gt;* User Name: WLS Admin user details&lt;br /&gt;* Domain name&lt;br /&gt;- Installation location&lt;br /&gt;* Weblogic Server Directory&lt;br /&gt;* Oracle Instance location, new “ASInstance” (Not actual Oracle Instance)&lt;br /&gt;* Oracle Instance Name, new “ASInstance” (Not actual Oracle Instance)&lt;br /&gt;- De-select others than Oracle Internet Directory&lt;br /&gt;=&amp;gt; We will configure only that&lt;br /&gt;- Auto configuration ports normally OK, you can select them if you want&lt;br /&gt;- Create Schema&lt;br /&gt;* Create ODS Database Schema&lt;br /&gt;* Connect string, for example: myserver:1521:orcl&lt;br /&gt;* SYS&lt;br /&gt;* Sys_password&lt;br /&gt;- OID Passwords&lt;br /&gt;* ODS Schema password &amp;amp; confirm  (all directory content)&lt;br /&gt;* ODSSM Schema password &amp;amp; confirm (OID statistics and DIP schema)&lt;br /&gt;- OID information&lt;br /&gt;* Realm, for example: dc=us,dc=oracle,dc=com&lt;br /&gt;* Admin user: orcladmin&lt;br /&gt;* Admin password: …&lt;br /&gt;- Install&lt;br /&gt;- Save Summary&lt;br /&gt;* Note: Weblogic Console ie: http://myhost.us.oracle.com:7001/console&lt;br /&gt;Verify installation:&lt;br /&gt;- …home/bin/opmnctl status -l&lt;br /&gt;- Alive:&lt;br /&gt;* OVD&lt;br /&gt;* oidldapd&lt;br /&gt;* oidldapd&lt;br /&gt;* oidmon =&amp;gt; LDAP port, LDAPS port&lt;br /&gt;* EMAGENT&lt;br /&gt;- ldapsearch -p LDAP_port -b “” -s base “objectclass=*” orcldirectoryversion&lt;br /&gt;=&amp;gt; orcldirectoryversion=OID 11.1.1.3.0&lt;br /&gt;Open Enterprise Manager Fusion Middleware Control 11g&lt;br /&gt;* For example:  http://myhost.us.oracle.com:7001/em&lt;br /&gt;- Find oid1 in FMW Control&lt;br /&gt;- Verify version number in FMW Control&lt;br /&gt;Open Oracle Directory Services Manager&lt;br /&gt;* For example: http://myhost.us.oracle.com:7005/odsm&lt;br /&gt;- Connect to a directory&lt;br /&gt;* OID – directory name&lt;br /&gt;* User Name: cn=orcladmin&lt;br /&gt;* password&lt;br /&gt;- Verify OID version&lt;br /&gt;After you’re done installing and configuring the OID itself, you can  proceed to netca to configure the destination databases “tnsnames.ora”.&lt;br /&gt;That will update sqlnet.ora and ldap.ora&lt;br /&gt;Examples&lt;br /&gt;LDAP.ORA:&lt;br /&gt;DEFAULT_ADMIN_CONTEXT = “ou=ora,dc=company,dc=com”&lt;br /&gt;DIRECTORY_SERVERS = (ldap1.company.com:389, ldap2.company.com:389)&lt;br /&gt;DIRECTORY_SERVER_TYPE = OID&lt;br /&gt;Oracle can “officially” only use OID or AD as LDAP servers.&lt;br /&gt;The type can be OID or AD. The multiple servers are for redundancy; it will not try each one in turn. Then in SQLNET.ORA:&lt;br /&gt;NAMES.DIRECTORY_PATH=(LDAP, TNSNAMES)&lt;br /&gt;The means try LDAP first, then try TNSNAMES.ORA, then give up.&lt;br /&gt;If you want to use a third-party LDAP server, Oracle has a product  called Virtual Directory that will act as a proxy between them.&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.database.fi/2011/03/oracle-internet-directory-oid-and-weblogic-installation-on-linux/" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://www.database.fi/2011/03/oracle-internet-directory-oid-and-weblogic-installation-on-linux/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-2716926197734579651?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/2716926197734579651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=2716926197734579651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2716926197734579651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2716926197734579651'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/oracle-internet-directory-oid-and.html' title='Oracle Internet Directory (OID) and Weblogic installation on Linux'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-4939035349312965207</id><published>2011-04-09T20:41:00.000-07:00</published><updated>2011-04-09T20:43:20.187-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IdMTutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Access Manager'/><title type='text'>Validating Authentication and Authorization in an Oracle Access Manager Application Domain</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt; This tutorial elucidates the steps involve in&amp;nbsp;several methods for confirming that Agent registration&lt;br /&gt;and authentication and authorization policies are operational. The procedures are&lt;br /&gt;nearly identical for both OAM Agents and OSSO Agents (mod_osso). However, OSSO&lt;br /&gt;Agents use only the authentication policy and not the authorization policy.&lt;br /&gt;&lt;br /&gt;Prerequisites&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Users and groups who are granted access must exist in the primary LDAP User Identity Store that is registered with OAM 11g&lt;/li&gt;&lt;li&gt;Agents must be registered to operate with OAM 11g. After  registration, protected&amp;nbsp;resources should be accessible with proper  authentication without restarting the&amp;nbsp;Administration or Managed Server.&lt;/li&gt;&lt;li&gt;Application domain, authentication policies, and authorization policies must be&amp;nbsp;configured.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;To verify authentication and access&lt;/u&gt;&lt;/b&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Using a Web browser, enter the URL for an application protected  by the registered&amp;nbsp;Agent to confirm that the login page appears (proving  that the authentication&amp;nbsp;redirect URL was specified appropriately). For  example:&amp;nbsp;http://myWebserverHost.us.abc.com:8100/resource1.html&lt;/li&gt;&lt;li&gt;Confirm that you are redirected to the login page.&lt;/li&gt;&lt;li&gt;On the Sign In page, enter a valid username and password when asked, and click&amp;nbsp;Sign In.&lt;/li&gt;&lt;li&gt;Confirm that you are redirected to the resource and proceed as follows:&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://oraclesoaandoim.blogspot.com/2011/02/validating-authentication-and.html" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://oraclesoaandoim.blogspot.com/2011/02/validating-authentication-and.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-4939035349312965207?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/4939035349312965207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=4939035349312965207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4939035349312965207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4939035349312965207'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/validating-authentication-and.html' title='Validating Authentication and Authorization in an Oracle Access Manager Application Domain'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-2104900605350183312</id><published>2011-04-09T20:38:00.000-07:00</published><updated>2011-04-09T20:43:28.526-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IdMTutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Identity Manager'/><category scheme='http://www.blogger.com/atom/ns#' term='OAM'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Access Manager'/><title type='text'>How SSO works in OAM 11g</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt; Here at Oracle, the access management PM team gets asked a lot of questions about how Oracle Access Manager 11g  works, especially about the overall SSO model, what cookies are created  and what they do, and processing flows between components, and how  specific component interactions work to achieve authentication and SSO.  In this post, we will explore the OAM 11g SSO model. It’s quite a bit  different from the OAM 10g model, especially since we now support things  like server side credential collection, server-based session  management, and application scoped sessions.&lt;br /&gt;&lt;br /&gt;Before we get  started, it’s worth noting that OAM 11g supports the use of both OAM 10g  and 11g Webgates as well as mod_osso plug-ins for Oracle HTTP Server  (OHS). We support this through what we call the Protocol Compatibility  Framework, which lets the OAM server communicate with and interpret  protocol messages from the webtier agents mentioned above. This is an  extensible framework so has the potential to support other clients or  agents in the future. &lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;OAM 11g uses a combination of host cookies  or domain cookies (depending on the version of Webgate you use), a  server cookie, and an in-memory session store (based on Oracle Coherence technology) to maintain and correlate user session information. &lt;br /&gt;Since  OAM 11g supports different Webgate versions and mod_osso, you will see  different cookies depending on the version of Webgate being used, you  will either see the ObSSOCookie (for 10g) or OAMAuthnCookie_host:port  (for 11g).&lt;br /&gt;However in both cases, the contents of the cookies are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Authenticated User Identity (User DN)&lt;/li&gt;&lt;li&gt;Authentication Level&lt;/li&gt;&lt;li&gt;IP Address&lt;/li&gt;&lt;li&gt;SessionID (Reference to Server side session – OAM11g Only)&lt;/li&gt;&lt;li&gt;Session Validity (Start Time, Refresh Time)&lt;/li&gt;&lt;li&gt;Session InActivity Timeouts (Global Inactivity, Max Inactivity)&lt;/li&gt;&lt;li&gt;Validation Hash&lt;/li&gt;&lt;/ul&gt;These  cookies are updated periodically using an algorithm of 1/4 of idle  session timeout. There are two main differences between the 10g and 11g  cookies:   &lt;ul&gt;&lt;li&gt;The 10g ObSSOCookie is domain scoped and cookie encryption uses a shared key for all 10g Webgates.&lt;/li&gt;&lt;li&gt;The  11g OAMAuthnCookie is hosted scoped and different host cookies may be  issued for each resource accessed that is protected by a different 11g  Webgate. Cookie encryption for each 11g Webgate is unique to that  Webgate.&lt;/li&gt;&lt;/ul&gt;The values of the cookies will change over the life of  a user's session, however you'll notice that the Session ID that is  present is a reference to the server side session object, which remains  the same across the life of a session.&lt;br /&gt;In the typical deployment  topology, you’ll have one or more Webgates deployed on web servers in  the Web Tier, a variety of components deployed in the App Tier including  an OAM admin server running on the Weblogic domain’s admin server, one  or more OAM runtime servers deployed on Weblogic managed servers, a  database to support the OAM policies, an LDAP directory against which  you will authenticate users, an optional auditing database, and an  optional BI Publisher instance for reporting.&lt;br /&gt;Using an OAM 11g Webgate in the flow, let’s recap how this works:&lt;br /&gt;&lt;br /&gt;1)  An OAM 11g Webgate intercepts the incoming request for a resource,  determines whether the resource is protected, and – if it is – the OAM  11g server constructs and returns a response back to the Webgate. That  response contains the authentication scheme required to authenticate the  user.&lt;br /&gt;&lt;br /&gt;2) Next the Webgate sets a cookie (called OAM_REQ) to keep  track of the target/requested URL and then redirects to the OAM 11g  server, which routes the request to the credential collector. The  credential collector serves up the login page, which captures  credentials and posts the credentials to the OAM server. The credentials  are validated against the ID store configured for this particular  authentication scheme. Once the credentials are validated, the OAM  server creates an authentication token, the session in Coherence, and  creates a server side session cookie called the OAM_ID cookie, which has  details about the user, the time the session was created, the idle  timeout, and session identifier to the coherence session.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://oracleaccessmanagement.blogspot.com/2011/03/here-at-oracle-access-management-pm.html" target="_blank"&gt;More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://oracleaccessmanagement.blogspot.com/2011/03/here-at-oracle-access-management-pm.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-2104900605350183312?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/2104900605350183312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=2104900605350183312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2104900605350183312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2104900605350183312'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/how-sso-works-in-oam-11g.html' title='How SSO works in OAM 11g'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-2260419440206423576</id><published>2011-04-09T20:33:00.001-07:00</published><updated>2011-04-09T20:33:49.939-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IdMgeneral'/><title type='text'>Webcast, April 12: Automating User Provisioning, A User’s Perspective</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;User provisioning solutions offer tangible, often quantifiable,  benefits. A Forrester Study* based on data from 4 customers concluded an  ROI of over 200% and net cost savings of over $8M over 3 years post  implementation of Oracle Identity Manager, Oracle’s user provisioning  solution.&amp;nbsp; Additional benefits seen were around improved security and a  tremendous boost in user productivity.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Join this FREE webcast to find out how Educational Testing Service  (ETS), a private nonprofit organization devoted to educational  measurement and research, is leveraging Oracle Identity Manager to meet  its user administration needs. Hear first-hand from your peer how you  can improve security and user productivity in your organization while  reducing IT administration, helpdesk and other overhead costs at the  same time.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://identigov.wordpress.com/2011/04/07/webcast-april-12-automating-user-provisioning-a-users-perspective/" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://identigov.wordpress.com/2011/04/07/webcast-april-12-automating-user-provisioning-a-users-perspective/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-2260419440206423576?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/2260419440206423576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=2260419440206423576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2260419440206423576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2260419440206423576'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/webcast-april-12-automating-user.html' title='Webcast, April 12: Automating User Provisioning, A User’s Perspective'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-1266474694641263812</id><published>2011-04-09T20:19:00.000-07:00</published><updated>2011-04-09T20:19:26.404-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sharepoint'/><title type='text'>Using SiteMinder authentication in Sharepoint</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt; &lt;strong&gt;Introduction&lt;/strong&gt;&lt;br /&gt;Many enterprise IT environments use  Netegrity SiteMinder (hereafter called SiteMinder) to secure Web  applications and servers. When customers decide to move to MS SharePoint  2007 (MOSS), they want to continue to use SiteMinder for their existing  Web environment, and also as the authentication mechanism for their  portal.&lt;br /&gt;This article is an example of the implementation of the solution that allows using the SiteMinder authentication with WSS 3.0.&lt;br /&gt;&lt;br /&gt;The key technical points of the solution:&lt;br /&gt;1. SiteMinder authentication.&lt;br /&gt;2. FBA (Form Based Authentications) for SharePoint applications.&lt;br /&gt;3. Custom login form.&lt;br /&gt;4. Custom membership and role providers.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;SiteMinder authentication&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The  SiteMinder authentication is used for single sign on (SSO)  functionality. Once SiteMinder authenticates a user it adds a special  HTTP header with the user name to each HTTP request. SiteMinder can also  create an authentication cookie that can be used if you want client  software integration, for example, if you want to modify a document from  a document library, using MS Word.&lt;br /&gt;Since the SiteMinder  authenticates users, the SharePoint authentication can be, and should be  bypassed, we trust that the user is already authenticated and her name  is contained in the HTTP header. The custom login form pulls the UserID  from the HTTP header, creates the authentication token and redirects the  request to the destination page. The trick is to make the SharePoint  framework to authorize (or deny) the authenticated user correctly. To  resolve users and role names the SharePoint framework has to use custom  membership and role providers.&lt;br /&gt;FBA (Form Based Authentications) and custom login form.&lt;br /&gt;Since  we are going to use the custom authentication mechanism (not Windows  authentication) we have to use the Form Based Authentication. Our form  shouldn’t have any UI, and user shouldn’t even be aware that the form is  called.&lt;br /&gt;The FBA has to be set up on the SharePoint Central  Administration website. After opening the site go to: Application  management-&amp;gt;application security-&amp;gt;authentication providers&lt;br /&gt;At  this point make sure that you are changing the right SharePoint  application, the application URL is displayed at the upper-right corner  of the page.&lt;br /&gt;When you see the authentication type for your  application (it’s windows by default) click “Default” and you will be  navigated to the “Edit authentication” page.&lt;br /&gt;On this page you can set up the Form Based authentication and the membership and role providers.&lt;br /&gt;If  you want to be able to edit documents from document libraries using MS  Office software, don’t forget to click the “client software integration”  radio-button&lt;br /&gt;After you set up the FBA authentication for a  SharePoint application, the central administration web site changes the  web.config file of the SharePoint application. It sets up the  authentication to “Forms” and loginURL to _layouts\logon.aspx. In the  modified web.config file of the SharePoint application you will see  something like this:&lt;br /&gt;&lt;br /&gt;&lt;authentication mode="Forms"&gt; &lt;forms loginurl="_layouts\login.aspx"&gt; &lt;/forms&gt;&lt;/authentication&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://mosssiteminderauthentication.blogspot.com/" target="_blank"&gt; More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://mosssiteminderauthentication.blogspot.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-1266474694641263812?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/1266474694641263812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=1266474694641263812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/1266474694641263812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/1266474694641263812'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/using-siteminder-authentication-in.html' title='Using SiteMinder authentication in Sharepoint'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-1262411955624159031</id><published>2011-04-09T20:17:00.000-07:00</published><updated>2011-04-09T20:17:19.330-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IdMgeneral'/><title type='text'>Human Behavior = Biggest Security Risk</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Two quick examples (both considered 'spear phishing' or targeted phishing attacks)&amp;nbsp;from today's headlines:&lt;br /&gt;&lt;br /&gt;1. The perpetrators of the RSA data breach which &lt;a href="http://360tek.blogspot.com/2011/03/rsa-breach.html"&gt;may have compromised&lt;/a&gt; the security of RSA's premium two-factor authentication solution, &lt;a href="http://www.scmagazineus.com/flash-zero-day-social-engineering-enable-rsa-securid-hack/article/199836/"&gt;as it turns out&lt;/a&gt;,  got help from RSA employees when they opened an email attachment. An  Excel&amp;nbsp;spreadsheet containing an Adobe Flash exploit opened the doors to  RSA's network.&lt;br /&gt;&lt;br /&gt;2. Conde Nast &lt;a href="http://www.net-security.org/secworld.php?id=10855"&gt;recently paid $8 Million&lt;/a&gt;  to a fake company in response to a single believeable email that&lt;br /&gt;asked  them politely to update their payee information on one of their vendors.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Both of these examples make the clear, simple point that it doesn't  really matter how much technology you put between an attacker and your  business assets. If an employee opens the door, they can walk right in.  We're either going to get extreme in terms of limiting behavioral  options (disallow all email attachments?) or we need to do much better  in employee training.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://360tek.blogspot.com/" target="_blank"&gt; More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://360tek.blogspot.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-1262411955624159031?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/1262411955624159031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=1262411955624159031' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/1262411955624159031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/1262411955624159031'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/human-behavior-biggest-security-risk.html' title='Human Behavior = Biggest Security Risk'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-3756135311799463670</id><published>2011-04-09T20:16:00.000-07:00</published><updated>2011-04-09T20:16:16.394-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle IdM 11g'/><title type='text'>An Entitlement-Centric Approach to Security</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Superb explanation from Nishant Kaushik&amp;nbsp; &lt;br /&gt;&lt;br /&gt;http://www.slideshare.net/NishantKaushik/an-entitlementcentric-approach-to-security&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-3756135311799463670?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/3756135311799463670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=3756135311799463670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3756135311799463670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3756135311799463670'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/entitlement-centric-approach-to.html' title='An Entitlement-Centric Approach to Security'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-6769790128525520102</id><published>2011-04-09T20:13:00.000-07:00</published><updated>2011-04-09T20:13:05.057-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IdMgeneral'/><title type='text'>Cloud Identity Management: CSC and Symplified Partner Up</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Access  and identity management remains one of the hottest topics in cloud  computing, as developers, vendors, and service providers alike race to  find answers to the lingering questions around the SaaS model. Enter  Government- and large enterprise-focused systems integrator &lt;a href="http://www.csc.com/" target="_blank"&gt;Computer Sciences Corp.&lt;/a&gt;, which has partnered with security specialist &lt;a href="http://www.symplified.com/" target="_blank"&gt;Symplified&lt;/a&gt; for CSC CloudIAM, a solution to extend existing customer credential stores to the cloud.&lt;br /&gt;Here are the major benefits of the &lt;a href="http://www.talkincloud.com/symplified-joins-cloud-security-alliance/"&gt;Symplified-powered&lt;/a&gt;  CloudIAM identity and access management (or “IAM,” &amp;nbsp;get it?) solution  in convenient bullet-point form, taken directly from CSC’s press  release:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;Providing [a single sign-on (SSO)] experience to employees that maintains control over user credentials.&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt; Controlling access to applications based on individual employee functions.&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;&lt;a name='more'&gt;&lt;/a&gt;&amp;nbsp;&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;Providing automated on-boarding and off-boarding to improve  efficiency and eliminate security holes when employees are hired and  depart the company.&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;The ability to quickly and efficiently respond to requests for  detailed access logs for SaaS applications to meet compliance auditing  requirements.&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;This product is a potential fit for CSC’s customer base, especially cosnidering all the chatter around &lt;a href="http://www.talkincloud.com/cloud-com-and-symplified-make-a-trusted-cloud-move/"&gt;security in the cloud.&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.talkincloud.com/cloud-identity-management-csc-and-symplified-partner-up/" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://www.talkincloud.com/cloud-identity-management-csc-and-symplified-partner-up/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-6769790128525520102?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/6769790128525520102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=6769790128525520102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6769790128525520102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6769790128525520102'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/cloud-identity-management-csc-and.html' title='Cloud Identity Management: CSC and Symplified Partner Up'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8205921379246493947</id><published>2011-04-09T20:12:00.000-07:00</published><updated>2011-04-09T20:12:13.391-07:00</updated><title type='text'>SailPoint Offers Identity Management for Cloud Adoption</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;While many companies are deploying software as a service (&lt;a href="http://www.newsfactor.com/accuserve/accuserve-go.php?c=11422"&gt;SaaS&lt;/a&gt; &lt;a href="http://www.newsfactor.com/accuserve/accuserve-go.php?c=11422"&gt;&lt;img alt="Relevant Products/Services" border="0" height="13" src="http://images.newsfactor.com/images/new/icon-inline-shop.gif" width="17" /&gt;&lt;/a&gt;)  applications and have selectively deployed enterprise applications in  private clouds, very few have moved mission-critical applications to the  public &lt;a href="http://www.newsfactor.com/accuserve/accuserve-go.php?c=11423"&gt;cloud&lt;/a&gt; &lt;a href="http://www.newsfactor.com/accuserve/accuserve-go.php?c=11423"&gt;&lt;img alt="Relevant Products/Services" border="0" height="13" src="http://images.newsfactor.com/images/new/icon-inline-shop.gif" width="17" /&gt;&lt;/a&gt;.  In fact, a recent SailPoint survey of Global 1000 showed that only 7%  of respondents have moved compliance-relevant applications to the public  cloud; security and compliance issues were the primary inhibitors to  cloud adoption. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;SailPoint is helping companies address these compliance and security  barriers with a new solution, the Cloud Identity Bridge, which  seamlessly extends the identity management capabilities of SailPoint  IdentityIQ to all applications deployed in cloud environments. With  Cloud Identity Bridge, SailPoint is removing key roadblocks to cloud  adoption by enabling organizations to manage identities and access  privileges in the cloud in the same manner that they govern them for  applications in the datacenter. &lt;br /&gt;&lt;br /&gt;While many companies are deploying software as a service (SaaS)  applications and have selectively deployed enterprise applications in  private clouds, very few have moved mission-critical applications to the  public cloud. In fact, a recent SailPoint survey of Global 1000 showed  that only 7% of respondents have moved compliance-relevant applications  to the public cloud; security and compliance issues were the primary  inhibitors to cloud adoption. &lt;br /&gt;&lt;br /&gt;"Organizations face too many unknowns related to compliance and security  in cloud environments to consider moving mission-critical IT assets  there," said Darran Rolls, CTO of SailPoint. "Yet, many &lt;a href="http://www.newsfactor.com/accuserve/accuserve-go.php?c=11314"&gt;business&lt;/a&gt; &lt;a href="http://www.newsfactor.com/accuserve/accuserve-go.php?c=11314"&gt;&lt;img alt="Relevant Products/Services" border="0" height="13" src="http://images.newsfactor.com/images/new/icon-inline-shop.gif" width="17" /&gt;&lt;/a&gt;  units are already deploying SaaS applications without engaging the IT  organization, creating major gaps in the visibility and control over  potentially sensitive data. In order to safely adopt cloud computing,  companies need to govern identity and access data deployed in the cloud  in the same manner that they govern applications in the datacenter."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.enterprise-security-today.com/story.xhtml?story_id=01300000LPMI" target="_blank"&gt; More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Courtesy:http://www.enterprise-security-today.com/story.xhtml?story_id=01300000LPMI&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8205921379246493947?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8205921379246493947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8205921379246493947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8205921379246493947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8205921379246493947'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/sailpoint-offers-identity-management.html' title='SailPoint Offers Identity Management for Cloud Adoption'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-1839048912568246673</id><published>2011-04-09T20:09:00.000-07:00</published><updated>2011-04-09T20:09:16.841-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenIAM'/><title type='text'>IDM made easy</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Previously, the price tag of Identity Management systems confined it  to businesses with deep pockets.&amp;nbsp; In addition, the complexity of the  software required a strong understanding of security.&lt;br /&gt;OpenIAM provides full featured, simplified and affordable IDM at a  fraction of the cost of other vendors. This is intuitive software that  makes sense, is available to everyone, and can be used by anyone. &lt;a href="http://www.openiam.org/demo/idm_webcast.html"&gt;View our webdemo here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://openiam.org/"&gt;More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://openiam.org/&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-1839048912568246673?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/1839048912568246673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=1839048912568246673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/1839048912568246673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/1839048912568246673'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/idm-made-easy.html' title='IDM made easy'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-6134347557495713682</id><published>2011-04-09T20:04:00.000-07:00</published><updated>2011-04-09T20:04:40.107-07:00</updated><title type='text'>What is OpenIAM?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;As the number of users in your organization grows so does the  potential for security risks, such as Identity Theft.&amp;nbsp; In  addition,&amp;nbsp;lost/forgotten passwords are accompanied by costly and time  consuming calls to the help desk.&lt;br /&gt;OpenIAM is an Open Source Identity and Access Management system that  lets you keep your organization secure by effortlessly controlling  users’ access to sensitive materials, and automates otherwise tedious  tasks through Single Sign On and Self Service. For more details on how OpenIAM improves the user experience, &lt;a href="http://openiam.org/index.php?option=com_content&amp;amp;view=article&amp;amp;id=47&amp;amp;Itemid=40"&gt;click here.&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://openiam.org/"&gt;More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy: http://openiam.org/&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-6134347557495713682?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/6134347557495713682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=6134347557495713682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6134347557495713682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6134347557495713682'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/04/what-is-openiam.html' title='What is OpenIAM?'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-5442234799264439360</id><published>2011-02-16T08:53:00.000-08:00</published><updated>2011-02-16T08:53:20.047-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='SALESFORCE'/><category scheme='http://www.blogger.com/atom/ns#' term='ADFS'/><title type='text'>Salesforce.com Single Sign On using ADFS v2</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This is the universal identity problem – too many user accounts for  the same person.&amp;nbsp; As such, one of my internal goals here is to simplify  identity at ObjectSharp.&lt;br /&gt;While working on another internal  project with Salesforce i got to thinking about how it manages users.&amp;nbsp;  It turns out Salesforce allows you to set it up as a SAML relying  party.&amp;nbsp; ADFS v2 supports being a SAML IdP.&amp;nbsp; Theoretically we have both  sides of the puzzle, but how does it work?&lt;br /&gt;Well, first things first.&amp;nbsp; I checked out the security section of the configuration portal:&lt;br /&gt;&lt;a href="http://blogs.objectsharp.com/cs/blogs/steve/image_0DA13080.png"&gt;&lt;img alt="image" border="0" height="158" src="http://blogs.objectsharp.com/cs/blogs/steve/image_thumb_04D12834.png" style="background-image: none; border: 0px none; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="178" /&gt;&lt;/a&gt;&lt;br /&gt;There was a Single Sign-On section, so I followed that and was given a pretty simple screen:&lt;br /&gt;&lt;a href="http://blogs.objectsharp.com/cs/blogs/steve/image_71EC7EBC.png"&gt;&lt;img alt="image" border="0" height="343" src="http://blogs.objectsharp.com/cs/blogs/steve/image_thumb_621CC3EB.png" style="background-image: none; border: 0px none; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="598" /&gt;&lt;/a&gt;&lt;br /&gt;There isn’t much here to setup.&amp;nbsp; Going down the options, here is what I came up with:&lt;br /&gt;&lt;strong&gt;SAML Version&lt;/strong&gt;&lt;br /&gt;I know from previous experience that ADFS supports version 2 of the SAML Protocol.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Issuer&lt;/strong&gt;&lt;br /&gt;What  is the URI of the IdP, which in this case is going to be ADFS?&amp;nbsp; Within  the ADFS MMC snap-in, if you right click the Service node you can access  the properties:&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.objectsharp.com/cs/blogs/steve/image_19EF080F.png"&gt;&lt;img alt="image" border="0" height="172" src="http://blogs.objectsharp.com/cs/blogs/steve/image_thumb_6BF18F89.png" style="background-image: none; border: 0px none; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="294" /&gt;&lt;/a&gt;&lt;br /&gt;In the properties dialog there is a textbox allowing you to change the Federation Service Identifier:&lt;br /&gt;&lt;a href="http://blogs.objectsharp.com/cs/blogs/steve/image_5144F370.png"&gt;&lt;img alt="image" border="0" height="461" src="http://blogs.objectsharp.com/cs/blogs/steve/image_thumb_16E97D8F.png" style="background-image: none; border: 0px none; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="412" /&gt;&lt;/a&gt;&lt;br /&gt;We want that URI.&lt;br /&gt;Within Salesforce we set the Issuer to the identifier URI.&lt;br /&gt;&lt;strong&gt;Identity Provider Certificate&lt;/strong&gt;&lt;br /&gt;Salesforce  can’t just go and accept any token.&amp;nbsp; It needs to only be able to accept  a token from my organization.&amp;nbsp; Therefore I upload the public key used  to sign my tokens from ADFS.&amp;nbsp; You can access that token by going to ADFS  and selecting the Certificates node:&lt;br /&gt;&lt;a href="http://blogs.objectsharp.com/cs/blogs/steve/image_07D29EB5.png"&gt;&lt;img alt="image" border="0" height="179" src="http://blogs.objectsharp.com/cs/blogs/steve/image_thumb_4DE35BC8.png" style="background-image: none; border: 0px none; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="186" /&gt;&lt;/a&gt;&lt;br /&gt;Once in there you can select the signing certificate:&lt;br /&gt;&lt;a href="http://blogs.objectsharp.com/cs/blogs/steve/image_784F8CE5.png"&gt;&lt;img alt="image" border="0" height="87" src="http://blogs.objectsharp.com/cs/blogs/steve/image_thumb_32CA8CBA.png" style="background-image: none; border: 0px none; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="247" /&gt;&lt;/a&gt;&lt;br /&gt;Just export the certificate and upload to Salesforce.&lt;br /&gt;&lt;strong&gt;Custom Error URL&lt;/strong&gt;&lt;br /&gt;If  the login fails for some reason, what URL should it go to?&amp;nbsp; If you  leave it blank, it redirects to a generic Salesforce error page.&lt;br /&gt;&lt;strong&gt;SAML User ID Type&lt;/strong&gt;&lt;br /&gt;This  option is asking what information we are giving to Salesforce, so it  can correlate that information to one of their internal ID’s.&amp;nbsp; Since for  this demo I was just using my email address, I will leave it with &lt;em&gt;Assertion contains User’s salesforce.com username.&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;SAML User ID Location&lt;/strong&gt;&lt;br /&gt;This option is asking where the above ID is located within the SAML token.&amp;nbsp; By default it will accept the &lt;em&gt;nameidentifier&lt;/em&gt; but I don’t really want to pass my email as a name so I will select &lt;em&gt;user ID is in an Attribute element&lt;/em&gt;.&lt;br /&gt;Now I have to specify what claim type the email address is.&amp;nbsp; In this case I will go with the default for ADFS, which is &lt;em&gt;http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress&lt;/em&gt;.&lt;br /&gt;&lt;strong&gt;On to Active Directory Federation Services&lt;/strong&gt;&lt;br /&gt;We are about half way done.&amp;nbsp; Now we just need to tell ADFS about Salesforce.&amp;nbsp; It’s surprisingly simple.&lt;br /&gt;Once you’ve saved the Salesforce settings, you are given a button to download the metadata:&lt;br /&gt;&lt;a href="http://blogs.objectsharp.com/cs/blogs/steve/image_16B9CDCF.png"&gt;&lt;img alt="image" border="0" height="53" src="http://blogs.objectsharp.com/cs/blogs/steve/image_thumb_6B0903D2.png" style="background-image: none; border: 0px none; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="354" /&gt;&lt;/a&gt;&lt;br /&gt;Selecting that will let you download an XML document containing metadata about Salesforce as a relying party.&lt;br /&gt;Telling ADFS about a relying party is pretty straightforward, and you can find the detailed steps in a &lt;a href="http://blogs.objectsharp.com/cs/blogs/steve/archive/2010/08/14/installing-adfs-2-and-federating-an-application.aspx"&gt;previous post I wrote&lt;/a&gt; about halfway through the article.&lt;br /&gt;Once  you’ve added the relying party, all you need to do is create a rule  that returns the user’s email address as the above claim type:&lt;br /&gt;&lt;a href="http://blogs.objectsharp.com/cs/blogs/steve/image_695837FE.png"&gt;&lt;img alt="image" border="0" height="194" src="http://blogs.objectsharp.com/cs/blogs/steve/image_thumb_2EFCC21D.png" style="background-image: none; border: 0px none; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="454" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a href="http://blogs.objectsharp.com/cs/blogs/steve/archive/2011/02/14/salesforce-com-single-sign-on-using-adfs-v2.aspx" target="_blank"&gt; More Here &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://blogs.objectsharp.com/cs/blogs/steve/archive/2011/02/14/salesforce-com-single-sign-on-using-adfs-v2.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-5442234799264439360?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/5442234799264439360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=5442234799264439360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/5442234799264439360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/5442234799264439360'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/02/salesforcecom-single-sign-on-using-adfs.html' title='Salesforce.com Single Sign On using ADFS v2'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-367361006938752195</id><published>2011-02-16T08:48:00.001-08:00</published><updated>2011-02-16T08:48:03.420-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WIF'/><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><title type='text'>Using Simple Web Token (SWT) with WIF</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;SAML 1.1/SAML 2.0 is the default token format when using ACS as the  authentication service for your website. In this model, your website  talks to ACS using WS-Federation protocol and what it normally gets back  is a Saml token. This scenarios is fairly straight-forward as WIF  natively supports WS-Federation protocol &amp;amp; SAML1.1/SAML 2.0 token  formats. &lt;br /&gt;There are cases where you might want to return a Simple Web Tokens  (SWT) after a successful authentication. For example, you might want to  use this same SWT (available as a bootstrap token) to call other  downstream REST/OData services as depicted in the following diagram. &lt;br /&gt;&lt;a href="http://zuahmed.files.wordpress.com/2011/02/image9.png"&gt;&lt;img alt="image" border="0" height="606" src="http://zuahmed.files.wordpress.com/2011/02/image_thumb9.png?w=1024&amp;amp;h=606" style="background-image: none; border-width: 0pt; display: inline; margin: 5px; padding-left: 0pt; padding-right: 0pt; padding-top: 0pt;" title="image" width="1024" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;ACS fully supports returning an SWT token after a successfully WS-Fed  authentication but WIF currently doesn’t support SWT tokens. You would  have to write a custom Security Token Handler for WIF to process SWT  tokens coming back to your website. I have created some extensions which  enables this and other OAuth WRAP related scenarios. Feel free to &lt;a href="http://cid-724b6fcd63a8c1ac.office.live.com/self.aspx/zamd.net/WIFBasedOAuthWrapIssuer.zip"&gt;download the code&lt;/a&gt; from my SkyDrive.&lt;/div&gt;&lt;H3&gt;&lt;A HREF="http://zamd.net/2011/02/08/using-simple-web-token-swt-with-wif/" target="_blank"&gt; More Here &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://zamd.net/2011/02/08/using-simple-web-token-swt-with-wif/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-367361006938752195?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/367361006938752195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=367361006938752195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/367361006938752195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/367361006938752195'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/02/using-simple-web-token-swt-with-wif.html' title='Using Simple Web Token (SWT) with WIF'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-3525144561590920026</id><published>2011-02-16T08:46:00.000-08:00</published><updated>2011-02-16T08:46:50.068-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><title type='text'>Access Control Service Architectural Model</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; text-align: left;" trbidi="on"&gt;The Access Control Service is an easily configurable, cloud-based Security Token Service (STS) that supports the authentication of user name/password, Windows CardSpace, certificate, and third-party STS-issued SAML tokens and provides an authorization framework that uses flexible, claims-based rules. The Access Control Service uses the same basic architectural model for Web applications, Web services, and smart clients. In the basic scenario, there are three participants:&lt;br /&gt;&lt;br /&gt;The Access Control Service STS.&lt;br /&gt;&lt;br /&gt;An application that trusts the virtual Access Control Service STS (Relying Party).&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The application that uses the Relying Party (Requester).&lt;br /&gt;&lt;br /&gt;These participants interact with one another in the following manner, discussed in more detail in this section:&lt;br /&gt;&lt;br /&gt;A trust relationship is established between the relying party and the Access Control Service STS. The owner of the relying party provides the Access Control Service STS with its certificate. This certificate is used by the Access Control Service STS to encrypt tokens that the relying party will accept.&lt;br /&gt;&lt;br /&gt;Before the requester can use the relying party, the owner of the relying party application defines access control rules in the STS. These rules logically grant the requester access to the relying party.&lt;br /&gt;&lt;br /&gt;The requester sends a WS-Trust 1.3-compliant Request for Security Token (RST) to the Access Control STS.&lt;br /&gt;&lt;br /&gt;The Access Control STS receives the RST, and uses the input claims in the RST to initiate processing of the Access Control rules defined in that STS.&lt;br /&gt;&lt;br /&gt;After Access Control rule processing, the Access Control STS packages the output into a SAML security token, signs the token, encrypts that token with the certificate provided in step 1, and sends the token back to the Requestor.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;a href="http://asher2003.wordpress.com/2011/02/14/accesscontrolservice-architectural-model/" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Courtesy:http://asher2003.wordpress.com/2011/02/14/accesscontrolservice-architectural-model/&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-3525144561590920026?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/3525144561590920026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=3525144561590920026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3525144561590920026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3525144561590920026'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/02/access-control-service-architectural.html' title='Access Control Service Architectural Model'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-7586058187012815548</id><published>2011-01-31T13:04:00.000-08:00</published><updated>2011-01-31T13:04:22.471-08:00</updated><title type='text'>WPS 7 – install an ifix silently with IBM Installation Manager</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;From WebSphere  7, IBM recommend to install all fixes with IBM Installation Manager for WebSphere. However, IBM, for now, still keeps UpdateInstaller for installing the ifixes for WAS7. Although UpdateInstaller can install ifixes for WPS7 through specifing the pak file location, you will not see the installed ifixes in IBM Installation Manager, which is not easy to managment the ifixes.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;so I recommend to install WPS7 ifixes (JRXXXXX) using IBM Installation Manager. But, it is slower if you use Installation Manager UI which was installed UNIX platform (must using Xterm) to install an ifix.&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;Here is the way to install and ifix silently for WPS 7&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;(1) copy WPS7 ifix to the temp directory, and unzip it. In general, an ifix for WPS7 is a ZIP format file. for example, 7.0.0.3-WS-WBI-MultiOS-IFJR38536.zip&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;(2)  go to the directory /IBM/InstallationManager/eclipse&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;(3) create a installation response xml file, for example, JR38536_repsonsefile.xml, the content should be like this and change the necessary fields. see the bold type character&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;agent-input acceptlicense="’true’"&gt;&lt;br /&gt;&lt;br /&gt;&lt;server&gt;&lt;br /&gt;&lt;repository location="’/IBM/fixpack/7.0.0.3-WS-WBI-MultiOS-IFJR38536′/"&gt;&lt;br /&gt;&lt;/repository&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://webspherecloud.wordpress.com/2011/01/31/wps-7-install-an-ifix-silently-with-ibm-installation-manager/" target="_blank"&gt; More Here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://webspherecloud.wordpress.com/2011/01/31/wps-7-install-an-ifix-silently-with-ibm-installation-manager/&lt;/server&gt;&lt;/agent-input&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-7586058187012815548?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/7586058187012815548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=7586058187012815548' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7586058187012815548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7586058187012815548'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/wps-7-install-ifix-silently-with-ibm.html' title='WPS 7 – install an ifix silently with IBM Installation Manager'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-7010974887081947455</id><published>2011-01-25T17:10:00.000-08:00</published><updated>2011-01-25T17:10:13.447-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Windows Domain to Amazon EC2 Single Sign-On Access Solutions</title><content type='html'>David Chappell, the Principal of Chappell &amp; Associates, US, has writtena whitepaper proposing several solutions for Single Sign-on (SSO) accessto applications deployed on Amazon EC2 from a Windows domain. InfoQexplored these solutions to understand what the benefits and tradeoffseach one presented.&lt;br /&gt;&lt;br /&gt;The paper is: "Connecting to the Cloud: Providing Single Sign-On toAmazon EC2 Applications from an On-Premises Windows Domain." Excerpt:"Users hate having multiple passwords. Help desks hate multiple passwordstoo, since users forget them. Even IT operations people hate them,because managing and synchronizing multiple passwords is expensive andproblematic. Providing single sign-on (SSO) lets users log in just once,then access many applications without needing to enter more passwords.It can also make organizations more secure by reducing the number ofpasswords that must be maintained. And for vendors of Software as aService (SaaS), SSO can make their applications more attractive by lettingusers access them with less effort...&lt;br /&gt;&lt;br /&gt;With the emergence of cloud platforms, new SSO challenges have appeared.For example, Amazon Web Services (AWS) provides the Amazon ElasticCompute Cloud (Amazon EC2). This technology lets a customer create AmazonMachine Images (AMIs) containing an operating system, applications, andmore. The customer can then launch instances of those AMIs (virtualmachines) to run applications on the Amazon cloud. Similarly, Microsoftprovides Windows Azure, which lets customers run Windows applications onMicrosoft's cloud. When an application running on a cloud platform needsto be accessed by a user in an on-premises Windows domain, giving thatuser single sign-on makes sense. Fortunately, there are several waysto do this..."&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a href="http://realworldxml.blogspot.com/2010/01/windows-domain-to-amazon-ec2-single.html" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://realworldxml.blogspot.com/2010/01/windows-domain-to-amazon-ec2-single.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-7010974887081947455?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/7010974887081947455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=7010974887081947455' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7010974887081947455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7010974887081947455'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/windows-domain-to-amazon-ec2-single.html' title='Windows Domain to Amazon EC2 Single Sign-On Access Solutions'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-5727221701197927861</id><published>2011-01-25T16:49:00.000-08:00</published><updated>2011-01-25T16:49:06.686-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><title type='text'>The Arrival of HTML 5: Lots of New Features</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;"HTML (Hyper Text Markup Language) is one of the underpinnings&lt;br /&gt;technologies of the modern web with the lion's share of web users'&lt;br /&gt;Internet activities founded on it.  HTML now stands on the brink of&lt;br /&gt;the next change -- the coming of HTML 5. At present, the Internet&lt;br /&gt;already contains a handful of HTML 5 specification outlines which&lt;br /&gt;partially cover HTML 5 features and conceptions. In this article, we&lt;br /&gt;review the current state of HTML and describe the most significant&lt;br /&gt;HTML 5 innovations.&lt;br /&gt;&lt;br /&gt;Offline Potential: Some time ago, a new specification for client-side&lt;br /&gt;database support with interesting applications was introduced. While&lt;br /&gt;this feature had vast potential, it has been excluded from current&lt;br /&gt;specification drafts due to insufficient interest from vendors which&lt;br /&gt;use various SQL back-ends. As such, the only offline feature currently&lt;br /&gt;available in HTML 5 is flexible online/offline resources management&lt;br /&gt;using cache manifests. Cache manifests allow an author of a document&lt;br /&gt;to specify which referenced resources must be cached in browser data&lt;br /&gt;store (e.g., static images, external CSS and JavaScript files) and&lt;br /&gt;which must be retrieved from a server (e.g., time-sensitive data like&lt;br /&gt;stock price graphs, responses from web services invoked from within&lt;br /&gt;JavaScript). The manifest also provides means for specifying fallback&lt;br /&gt;offline replacements for resources which must not be cached. This&lt;br /&gt;mechanism gives the ability to compose HTML documents which can be&lt;br /&gt;viewed offline.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;REST in Forms: REST application can be characterized by a clear&lt;br /&gt;separation between clients and servers, stateless communications with&lt;br /&gt;the server (no client context is stored on the server between requests)&lt;br /&gt;and uniform client-server protocol that can be easily invoked from other&lt;br /&gt;clients. Applied to HTTP, it encourages usage of URI for identifying&lt;br /&gt;all entities and standard HTTP methods like GET (retrieve), POST (change),&lt;br /&gt;PUT (add) and DELETE (remove) for entity operations. HTML 5 now fully&lt;br /&gt;supports issuing PUT and DELETE requests from HTML forms without any&lt;br /&gt;workarounds. This is an unobtrusive, but ideologically important&lt;br /&gt;innovation which brings more elegance into web architecture and simplifies&lt;br /&gt;development of HTML UI for REST services.&lt;br /&gt;&lt;br /&gt;Communicating Documents: Now documents opened in browsers can exchange&lt;br /&gt;data using messages. Such data exchange may be useful on a web page&lt;br /&gt;that includes several frames with the data loaded from different origins.&lt;br /&gt;Usually, a browser does not allow JavaScript code to access/manipulate&lt;br /&gt;the objects of other documents opened from a different origin. This is&lt;br /&gt;done to prevent cross-site scripting and other malicious and destructive&lt;br /&gt;endeavors..." &lt;a href="http://www.drdobbs.com/article/printableArticle.jhtml?articleId=226700204"&gt;More Info&lt;/a&gt; &lt;a href="http://dev.w3.org/html5/html4-differences/"&gt;See also HTML5 differences from HTML4:&lt;/a&gt;&lt;br /&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;&lt;a href="http://realworldxml.blogspot.com/2010/08/arrival-of-html-5-lots-of-new-features.html" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://realworldxml.blogspot.com/2010/08/arrival-of-html-5-lots-of-new-features.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-5727221701197927861?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/5727221701197927861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=5727221701197927861' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/5727221701197927861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/5727221701197927861'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/arrival-of-html-5-lots-of-new-features.html' title='The Arrival of HTML 5: Lots of New Features'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-7615657138614901301</id><published>2011-01-25T16:46:00.000-08:00</published><updated>2011-01-25T16:46:21.040-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ping federate'/><title type='text'>PingFederate as an IdM suite federation alternative</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="color: black; font-family: Arial,Helvetica; text-align: left;"&gt;&lt;span style="font-size: 12px;"&gt;&lt;span style="font-size: 12px;"&gt;PingFederate  provides the same functionality as Identity Management suite federation  components without requiring extensive upgrades, lengthy deployments or  custom integration work- and all at a much lower cost.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12px;"&gt;Identity management suite customers  often choose to implement PingFederate instead of the federated identity  module offered by their suite vendor for one or more of the following  reasons:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Easier to learn, deploy and use&lt;/li&gt;&lt;li&gt;Much faster time-to-connection&lt;/li&gt;&lt;li&gt;Out-of-the-box integration with other products, particularly those from their suite vendorʼs competitors&lt;/li&gt;&lt;li&gt;Extensive support for SaaS SSO: provisioning, mobile devices, email clients etc.&lt;/li&gt;&lt;li&gt;No need to upgrade to the latest version of the IdM suite just to use the federation module&lt;/li&gt;&lt;li&gt;Availability of PingEnable implementation and support services&lt;/li&gt;&lt;li&gt;Significantly lower total cost of ownership&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;img align="middle" alt="Many IdM suite users choose PingFederate to deliver Internet SSO functionality instead of the federated identity module sold by their suite vendor." border="0" height="271" hspace="0" src="http://www.pingidentity.com/tech-answers/use-cases/images/IdM-Suite_1.png" title="Many IdM suite users choose PingFederate to deliver Internet SSO functionality instead of the federated identity module sold by their suite vendor." vspace="0" width="400" /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="center" class="caption"&gt;Many IdM suite users choose  PingFederate to deliver Internet SSO functionality instead of the  federated identity module sold by their suite vendor.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;&lt;a href="http://www.pingidentity.com/tech-answers/use-cases/Identity-management-suite-federation-alternative.cfm" target="_blank"&gt; More Here &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://www.pingidentity.com/tech-answers/use-cases/Identity-management-suite-federation-alternative.cfm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-7615657138614901301?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/7615657138614901301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=7615657138614901301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7615657138614901301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7615657138614901301'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/pingfederate-as-idm-suite-federation.html' title='PingFederate as an IdM suite federation alternative'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-3204390145675036299</id><published>2011-01-25T16:45:00.000-08:00</published><updated>2011-01-25T16:45:10.099-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAAS'/><title type='text'>Internet SSO for commercial applications PingIdentity</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="color: black; font-family: Arial,Helvetica; text-align: left;"&gt;&lt;span style="font-size: 12px;"&gt;Companies  in virtually every industry are now enhancing or expanding their  product offerings via additional functionality delivered via the  Internet.&lt;br /&gt;&lt;br /&gt;These companies differ from pure on-demand (SaaS) providers in that  their products are more than software. They also tend to be larger, more  established companies such as Rearden Commerce or Morgan Stanley that  have multiple federated identity use cases. These types of companies use  PingFederate in a hybrid manner. They support both incoming Single  Sign-On for their customers, as well as outgoing SSO for their  employees.&lt;br /&gt;PingFederate is a particularly good choice for this use case because  pricing is connection-based, versus seat-based, the model most common  with identity management products designed to manage employee  identities.&lt;br /&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;img alt="SaaS and BPO providers use PingFederate both to establish SAML-based Internet SSO connections with their customers and to create services mashups." border="0" height="204" hspace="0" src="http://www.pingidentity.com/tech-answers/use-cases/images/Customer-Facing.png" title="SaaS and BPO providers use PingFederate both to establish SAML-based Internet SSO connections with their customers and to create services mashups." vspace="0" width="400" /&gt;&amp;nbsp;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div align="center" class="caption"&gt;SaaS and BPO providers use  PingFederate both to establish SAML-based Internet SSO connections with  their customers and to create services mashups.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;&lt;a href="http://www.pingidentity.com/tech-answers/use-cases/sso-for-customer-facing-apps.cfm" target="_blank"&gt; More Here &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://www.pingidentity.com/tech-answers/use-cases/sso-for-customer-facing-apps.cfm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-3204390145675036299?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/3204390145675036299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=3204390145675036299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3204390145675036299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3204390145675036299'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/internet-sso-for-commercial.html' title='Internet SSO for commercial applications PingIdentity'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8275944713153632445</id><published>2011-01-25T16:42:00.000-08:00</published><updated>2011-01-25T16:42:20.673-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ping federate'/><category scheme='http://www.blogger.com/atom/ns#' term='SAAS'/><title type='text'>SaaS Connector PingIdentity</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;SaaS Connectors install within  PingFederate running as an IdP to expedite and optimize creating  connections to leading SaaS providers.&lt;br /&gt;SaaS Connectors offer additional functionality including support for  automated SaaS user account management, non-browser-based access  devices, including email clients and mobile apps; support for advanced  use cases, such as email links; and support for proprietary SSO APIs.  Specific functionality varies depending on the capabilities and  requirements of the target SaaS applications. Quick Connection Templates  guide you through configuration of the SaaS connection, pre-populating  configuration information where possible.&lt;br /&gt;SaaS Connectors are currently available for Salesforce, Google Apps,  Webex, and Workday with more connectors planned for future release.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;img alt="SaaS-Connectors" border="0" height="203" hspace="0" id="||CPIMAGE:14949|" src="http://www.pingidentity.com/tech-answers/use-cases/images/SaaS-Connectors.png" title="SaaS-Connectors" width="600" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a href="http://www.pingidentity.com/tech-answers/use-cases/SaaSConnector-use-cases.cfm" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://www.pingidentity.com/tech-answers/use-cases/SaaSConnector-use-cases.cfm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8275944713153632445?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8275944713153632445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8275944713153632445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8275944713153632445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8275944713153632445'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/saas-connector-pingidentity.html' title='SaaS Connector PingIdentity'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-5827050499857996774</id><published>2011-01-25T16:40:00.000-08:00</published><updated>2011-01-25T16:40:18.951-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAAS'/><title type='text'>SSO to external/SaaS Applications PingIdentity</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="color: black; font-family: Arial,Helvetica; text-align: left;"&gt;&lt;span style="font-size: 12px;"&gt;Federated  identity has evolved into an essential ingredient of Internet security  technologies. As the number of Software-as-a-Service applications  continue to grow the ability to implement Internet SSO and federated  identity has become a fundamental use case for virtually every major  SaaS provider.&lt;br /&gt;While some SaaS providers started by offering a proprietary SSO  mechanism, the industry trend is moving toward support of standards such  as SAML 2. This allows employees, contractors or other members of an  enterprise workforce to use their corporate credentials to access  external applications.&lt;br /&gt;In this use case, PingFederate connects to one or more service  providers such as Software as a Service (SaaS) providers, enterprise  applications hosted on an IaaS platform (Amazon EC2), enterprise  applications developed using a PaaS provider (Force.com) or Business  Process Outsourcing (BPO) suppliers that provide applications for  employee use. The enterprise can provide SSO access to external  applications from multiple devices including Web browsers, mobile  devices and rich clients such as Microsoft Outlook. Employees benefit  from SSO access whether they are in the office or on the road.  PingConnect can also support this use case for small to medium  enterprises who prefer a hosted solution, eliminating the need for  on-premise hardware and IT resources.&lt;br /&gt;&lt;br /&gt;&lt;a class="CP___PAGEID_14941" href="http://www.pingidentity.com/tech-answers/use-cases/SaaSConnector-use-cases.cfm"&gt;SaaS Connectors&lt;/a&gt;  provide support for advanced use cases, including user account  management, and optimize the creation and configuration of connections.&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="Workforce-to-external-apps" border="0" height="252" hspace="0" src="http://www.pingidentity.com/tech-answers/use-cases/images/Workforce-to-external-apps.png" title="Workforce-to-external-apps" vspace="0" width="400" /&gt;&amp;nbsp;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div align="center" class="caption"&gt;In this use case, an enterprise uses  PingFederate to give its workforce easy and secure access to external  cloud based applications provided by IaaS, PaaS SaaS, outsourcers and  other service providers.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;&lt;a href="http://www.pingidentity.com/tech-answers/use-cases/outbound-sso.cfm" target="_blank"&gt; More Here &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://www.pingidentity.com/tech-answers/use-cases/outbound-sso.cfm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-5827050499857996774?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/5827050499857996774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=5827050499857996774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/5827050499857996774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/5827050499857996774'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/sso-to-externalsaas-applications.html' title='SSO to external/SaaS Applications PingIdentity'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-7490015058399802603</id><published>2011-01-25T15:09:00.000-08:00</published><updated>2011-01-25T15:09:32.672-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OneLogin'/><title type='text'>One-Time Passwords with OneLogin and YubiKey</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Using multiple authentication factors is an effective way of  preventing someone from accessing your sensitive data even if they  manage to get hold of your username or password. For a brief  introduction to the topic, read the article &lt;a href="http://support.onelogin.com/entries/336490-authentication-factors"&gt;Authentication Factors&lt;/a&gt;.&lt;br /&gt;OneLogin supports both &lt;strong&gt;VeriSign VIP Access&lt;/strong&gt; and&amp;nbsp;&lt;strong&gt;Yubico's YubiKey&lt;/strong&gt;&amp;nbsp;for  one-time password generation.&amp;nbsp;These solutions fall the "something you  have" category, which means that if you successfully authenticate, the  authenticating party knows that the user has the key in their  possession. This significantly reduces the chances of someone else  hacking into that user's account.&lt;br /&gt;&lt;h2&gt;Enabling OTP&lt;/h2&gt;In order to use OTP with OneLogin, one of your account's admins has to turn it on. This is done under &lt;strong&gt;Security -&amp;gt; OTP&lt;/strong&gt;.&lt;br /&gt;&lt;img alt="otp_config.png" border="0" src="http://support.onelogin.com/attachments/token/ueeqnx9uth3jy1d/?name=otp_config.png" /&gt;&lt;br /&gt;OneLogin lets you use VIP Access and YubiKey at the same time, which  is an advantage if you have different users with different needs. For  example, someone who works from an office all day maybe prefer YubiKey  because of its easy-of-use while someone who travels may prefer VIP  Access because always it's in their phone.&lt;br /&gt;OTP can be required for all administrators only, all users or select users.&lt;br /&gt;&lt;h2&gt;Registering OTP Devices&lt;/h2&gt;&lt;h2&gt;&lt;a name='more'&gt;&lt;/a&gt;&amp;nbsp;&lt;/h2&gt;In order for an OTP device to be used, it must be associated with a  user. This can be done manually by the administrator user by user, but  that's not practical on a large scale, especially with VIP Access where  only the employee has access to the device. If OTP is required for a  user, the user will be prompted to register the device at the first  successful login.&lt;br /&gt;&lt;h2&gt;Configuring users&lt;/h2&gt;Once OTP is enabled for, you will be able to register the device on the individual users as shown below. Go to &lt;strong&gt;People -&amp;gt; Users&lt;/strong&gt; and select a user. This is also where you deregister OTP devices.&lt;br /&gt;&lt;img alt="otp_edit_user.png" border="0" src="http://support.onelogin.com/attachments/token/1oq3tr9syyudrmo/?name=otp_edit_user.png" /&gt;&lt;br /&gt;To register a YubiKey,&amp;nbsp;insert the key in the USB port and press the  button. This will insert a 30 long string in the field of which the  first 12 will be stored on the user. These 12 character uniquely  identify the key and are now tied to this user.&lt;br /&gt;To register VIP Access, enter the Credential ID shown in the mobile application.&lt;br /&gt;&lt;strong&gt;Make sure you that you register your own key before you log out, or you will not be able to log in again.&lt;/strong&gt;&lt;br /&gt;&lt;h2&gt;When is OTP Required?&lt;/h2&gt;Use the required setting to enforce whether users have to use OTP at  every login or just when they log in from an unknown or expired browser.&lt;br /&gt;&lt;h2&gt;Logging in&lt;/h2&gt;Once OTP has been turned all, all users will see a login page as  shown below. Once Email and Password have been entered, a YubiKey or VIP  Access field will appear.&lt;br /&gt;&lt;img alt="otp-login.png" border="0" src="http://support.onelogin.com/attachments/token/3g6w7unket639hk/?name=otp-login.png" width="500" /&gt;&lt;/div&gt;&lt;h3&gt;&lt;a href="http://support.onelogin.com/entries/129685-yubikey-guide" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://support.onelogin.com/entries/129685-yubikey-guide&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-7490015058399802603?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/7490015058399802603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=7490015058399802603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7490015058399802603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/7490015058399802603'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/one-time-passwords-with-onelogin-and.html' title='One-Time Passwords with OneLogin and YubiKey'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-3311636485796885221</id><published>2011-01-25T14:58:00.000-08:00</published><updated>2011-01-25T14:58:28.770-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='OneLogin'/><category scheme='http://www.blogger.com/atom/ns#' term='WEBEX'/><title type='text'>Configuring WebEx for SAML with OneLogin</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;h2&gt;Configure WebEx Enterprise in OneLogin&lt;/h2&gt;If you haven't already added WebEx Enterprise to your OneLogin account, you can do it via this link:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;a href="https://app.onelogin.com/apps/new/3036"&gt;https://app.onelogin.com/apps/new/3036&lt;/a&gt;&lt;br /&gt;Now, configure the application.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Choose SAML as authentication method&lt;/li&gt;&lt;li&gt;Enter your subdomain, e.g. mycompany&lt;/li&gt;&lt;li&gt;Select the roles you want to have access to WebEx&lt;/li&gt;&lt;li&gt;Save the app&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;Configure SAML in WebEx&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Sign into your WebEx Enterprise account as the admin&lt;/li&gt;&lt;li&gt;Click &lt;b&gt;Site Administration&lt;/b&gt;&amp;nbsp;in the menu bar&lt;/li&gt;&lt;li&gt;Click &lt;b&gt;SSO Configuration&lt;/b&gt;&amp;nbsp;in the sidebar&lt;/li&gt;&lt;li&gt;You should now see the page below&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;img alt="webex-sso-config.png" border="0" src="http://support.onelogin.com/attachments/token/wspqeaeuob0fcff/?name=webex-sso-config.png" /&gt;&lt;/li&gt;&lt;li&gt;Set &lt;b&gt;WebEx SAML Issuer&lt;/b&gt; to "&lt;a href="http://www.webex.com/"&gt;http://www.webex.com&lt;/a&gt;"&lt;/li&gt;&lt;li&gt;&lt;a name='more'&gt;&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Set&amp;nbsp;&lt;b&gt;Issuer for SAML&lt;/b&gt;&amp;nbsp;to the &lt;b&gt;SAML Issuer&lt;/b&gt; from the WebEx app in OneLogin&lt;/li&gt;&lt;li&gt;Set&amp;nbsp;&lt;b&gt;Customer SSO Service Login URL&lt;/b&gt;&amp;nbsp;to the &lt;b&gt;SAML Login URL&lt;/b&gt; from the WebEx app in OneLogin&lt;/li&gt;&lt;li&gt;Set &lt;b&gt;AuthContextClassRef&lt;/b&gt; to "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;&lt;h3&gt;&lt;a href="http://support.onelogin.com/entries/362606-configuring-webex-for-saml-with-onelogin" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://support.onelogin.com/entries/362606-configuring-webex-for-saml-with-onelogin&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-3311636485796885221?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/3311636485796885221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=3311636485796885221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3311636485796885221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3311636485796885221'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/configuring-webex-for-saml-with.html' title='Configuring WebEx for SAML with OneLogin'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-2365541014430158946</id><published>2011-01-25T14:55:00.000-08:00</published><updated>2011-01-25T14:55:41.118-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='OneLogin'/><title type='text'>Configuring WordPress for SAML with OneLogin</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="user_formatted header_section"&gt;         OneLogin's SAML plugin for WordPress allows you to easily and  securely sign users into WordPress. By default users will be signed in  using the email address registered in OneLogin, but you can override  this by editing the logins on the app if they don't match the ones in  WordPress.&lt;br /&gt;If you want to prevent users from signing into WordPress directly  using a password, we recommend simply obfuscating the passwords in  WordPress so that users don't know them. Just make sure the admin can  still sign in using password.&lt;br /&gt;&lt;span style="color: #b33c00; font-family: Arial; font-size: 18px;"&gt;Configuration&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Sign into your WordPress account as a user who has privileges to install plugins&lt;/li&gt;&lt;li&gt;Click &lt;strong&gt;Plugin&lt;/strong&gt;&amp;nbsp;in the left sidebar&lt;/li&gt;&lt;li&gt;Now you can either search for OneLogin or you can upload the plugin attached to this article.&lt;/li&gt;&lt;li&gt;Once the plugin is installed, activate it&lt;br /&gt;&lt;br /&gt;&lt;img alt="wordpress-setup-1.png" border="0" src="http://support.onelogin.com/attachments/token/5onodjqnzk5tuei/?name=wordpress-setup-1.png" /&gt;&lt;/li&gt;&lt;li&gt;The next step is to configure your OneLogin X.509 certificate so the  plugin can validate SAML responses coming from your OneLogin account.  In OneLogin, go to &lt;strong&gt;Security -&amp;gt; SAML&lt;/strong&gt; and copy.&lt;/li&gt;&lt;li&gt;&lt;a name='more'&gt;&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Click &lt;strong&gt;Settings&lt;/strong&gt; in the sidebar in WordPress and then click &lt;strong&gt;SSO/SAML Settings&lt;br /&gt;&lt;br /&gt;&lt;img alt="wordpress-setup-2.png" border="0" src="http://support.onelogin.com/attachments/token/czc80d6s5cn2pnn/?name=wordpress-setup-2.png" /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;Paste the certificate into the text field and click &lt;strong&gt;Save Changes&lt;/strong&gt;. This completes the setup of WordPress.&lt;/li&gt;&lt;li&gt;Now add WordPress to your OneLogin account. The Site URL should be the root URL of your wordpress site. &lt;strong&gt;VERY IMPORTANT&lt;/strong&gt;: The URL must end with a slash (/) or the plugin will not pick up SAML responses.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;&lt;a href="http://support.onelogin.com/entries/383540" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://support.onelogin.com/entries/383540&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-2365541014430158946?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/2365541014430158946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=2365541014430158946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2365541014430158946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2365541014430158946'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/configuring-wordpress-for-saml-with.html' title='Configuring WordPress for SAML with OneLogin'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-2975530455944819435</id><published>2011-01-25T14:33:00.000-08:00</published><updated>2011-01-25T14:33:27.353-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAAS'/><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>New Active Directory Connector Simplifies User Authentication</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;OneLogin announces its Active Directory Connector that enables the authentication of cloud application users against an organization's Active Directory.&lt;br /&gt;&lt;br /&gt;While IT benefits from having a single directory integration point, employees can use their Windows credentials to access web applications, hosted in the cloud and behind the firewall. By eliminating the need for employees to remember several usernames, passwords and login URLs, OneLogin increases the adoption of cloud applications and reduces the security risks inherent with the repeated use of weak login credentials.&lt;br /&gt;&lt;br /&gt;“Enterprises are keen to reap the benefits of cloud computing, but do not want to abandon their existing IT infrastructure,” explains Thomas Pedersen, CEO at OneLogin. “Our new Active Directory Connector allows them to extend their directories deep into the cloud with no custom development required.”&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As enterprises continue to adopt cloud computing, integrating their existing directory with various applications’ proprietary authentication APIs poses both security risks and maintenance headaches. OneLogin’s Active Directory Connector provides a single integration point that enables enterprises to centralize authentication, eliminate passwords and make it easier for employees to access web applications.&lt;br /&gt;&lt;br /&gt;OneLogin enables any enterprise to get single sign-on within minutes via Security Assertion Markup Language (SAML). Users can easily and securely connect to SAML enabled applications, such as Salesforce, WebEx, Google Apps, Workday, Yammer, Central Desktop, SugarCRM, KnowledgeTree, SAManage and many others.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a href="http://blog.onelogin.com/blog/2010/12/13/new-active-directory-connector-simplifies-user-authenticatio.html%22" target="_BLANK"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://blog.onelogin.com/blog/2010/12/13/new-active-directory-connector-simplifies-user-authenticatio.html&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-2975530455944819435?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/2975530455944819435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=2975530455944819435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2975530455944819435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2975530455944819435'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/new-active-directory-connector.html' title='New Active Directory Connector Simplifies User Authentication'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-538121735805913205</id><published>2011-01-25T14:29:00.001-08:00</published><updated>2011-01-25T14:29:56.388-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAAS'/><title type='text'>SAML Plug-In for WordPress</title><content type='html'>WordPress has long been one of the most popular integrations among our customers and some customers manage multiple WordPress accounts with many contributors. The original WordPress integration uses form-based authentication, which means we simply automate the login process using email address and password.&lt;br /&gt;&lt;br /&gt;However, since we're on a crusade against passwords and WordPress has a nice plug-in framework, we decided to implement a SAML plug-in that you can use with OneLogin. In addition to simply eliminating passwords, the SAML integration provides these benefits:&lt;br /&gt;&lt;br /&gt;    * Easy, one-click access to WordPress&lt;br /&gt;    * Users can sign in with their Active Directory or LDAP credentials&lt;br /&gt;    * Multi-factor authentication for added security&lt;br /&gt;    * Centrally de-provision former employees and contractors&lt;br /&gt;&lt;br /&gt;Plug-ins are available to anyone who hosts WordPress themselves (i.e. not on wordpress.com) and you can add it in a matter of seconds. Just click Plugins in WordPress' sidebar and search for SAML. OneLogin's plug-in will appear at the top.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a href="http://blog.onelogin.com/" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://blog.onelogin.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-538121735805913205?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/538121735805913205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=538121735805913205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/538121735805913205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/538121735805913205'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/saml-plug-in-for-wordpress.html' title='SAML Plug-In for WordPress'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-2171393797151884198</id><published>2011-01-25T13:19:00.000-08:00</published><updated>2011-01-25T13:19:35.505-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>How to Parse XML in CakePHP</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Hi all, this is a basic tutorial on how to parse&amp;nbsp; xml file in  cakephp.&lt;br /&gt;We all know that cakephp vastly utilizes the array concept in php.   Here, I am going to explain you how to parse XML in CakePHP and convert   it into an array.&lt;br /&gt;Step1:&lt;br /&gt;Get the XML Feed; for example you might be having an xml feed from a   search engine or any other type of feed which is in xml. get the   contents of the URL to do so, I’m going to create a function in my   controller and utilize the XML helper.&lt;br /&gt;create the function, say: parse_xml&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;pre&gt;function  parse_xml() {&lt;/pre&gt;&lt;pre&gt;App::import('Xml');&lt;br /&gt;$raw_xml = file_get_contents("type your xml url here");&lt;br /&gt;$parsed_xml = &amp;amp; new XML($raw_xml);&lt;br /&gt;&lt;br /&gt;$parsed_xml = Set::reverse($parsed_xml);&amp;nbsp; // reversing the xml to array. this can be also used to convert an array to xml also.&lt;br /&gt;&lt;br /&gt;return $parsed_xml;&lt;br /&gt;}&lt;/pre&gt;That’s all.. everything done&lt;br /&gt;to get the array to a variable&lt;br /&gt;&lt;pre&gt;$xml_array = $this-&amp;gt;parse_xml();&lt;/pre&gt;now try printing the array&lt;br /&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;echo "&lt;pre&gt;";&lt;br /&gt;print_r($xml_array)&lt;/pre&gt;&lt;pre&gt;die;&lt;/pre&gt;&lt;/pre&gt;&lt;/div&gt;&lt;H3&gt;&lt;A HREF="http://cakeleak.wordpress.com/2010/05/28/how-to-parse-xml-in-cakephp/" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://cakeleak.wordpress.com/2010/05/28/how-to-parse-xml-in-cakephp/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-2171393797151884198?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/2171393797151884198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=2171393797151884198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2171393797151884198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/2171393797151884198'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/how-to-parse-xml-in-cakephp.html' title='How to Parse XML in CakePHP'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8188557561881583142</id><published>2011-01-25T13:18:00.000-08:00</published><updated>2011-01-25T13:18:42.029-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>What is XML</title><content type='html'>* XML stands for EXtensible Markup Language&lt;br /&gt;    * XML is a markup language much like HTML&lt;br /&gt;    * XML was designed to carry data, not to display data&lt;br /&gt;    * XML tags are not predefined. You must define your own tags&lt;br /&gt;    * XML is designed to be self-descriptive&lt;br /&gt;    * XML is a W3C Recommendation&lt;br /&gt;&lt;br /&gt;The Difference Between XML and HTML&lt;br /&gt;&lt;br /&gt;XML is not a replacement for HTML.&lt;br /&gt;&lt;br /&gt;XML and HTML were designed with different goals:&lt;br /&gt;&lt;br /&gt;    * XML was designed to transport and store data, with focus on what data is.&lt;br /&gt;    * HTML was designed to display data, with focus on how data looks.&lt;br /&gt;&lt;br /&gt;HTML is about displaying information, while XML is about carrying information.&lt;br /&gt;XML is Just Plain Text&lt;br /&gt;&lt;br /&gt;XML is nothing special. It is just plain text. Software that can handle plain text can also handle XML.&lt;br /&gt;&lt;br /&gt;However, XML-aware applications can handle the XML tags specially. The functional meaning of the tags depends on the nature of the application.&lt;br /&gt;With XML You Invent Your Own Tags&lt;br /&gt;&lt;br /&gt;The tags in the example above (like &lt;to&gt; and &lt;from&gt;) are not defined in any XML standard. These tags are “invented” by the author of the XML document.&lt;br /&gt;&lt;br /&gt;That is because the XML language has no predefined tags.&lt;br /&gt;&lt;br /&gt;The tags used in HTML (and the structure of HTML) are predefined. HTML documents can only use tags defined in the HTML standard &lt;br /&gt;&lt;br /&gt;XML allows the author to define his own tags and his own document structure.&lt;br /&gt;XML is Not a Replacement for HTML&lt;br /&gt;&lt;br /&gt;XML is a complement to HTML.&lt;br /&gt;&lt;br /&gt;It is important to understand that XML is not a replacement for HTML. In most web applications, XML is used to transport data, while HTML is used to format and display the data.&lt;br /&gt;&lt;br /&gt;My best description of XML is this:&lt;br /&gt;&lt;br /&gt;XML is a software- and hardware-independent tool for carrying information.&lt;br /&gt;XML is Everywhere&lt;br /&gt;&lt;br /&gt;We have been participating in XML development since its creation. It has been amazing to see how quickly the XML standard has developed, and how quickly a large number of software vendors have adopted the standard.&lt;br /&gt;&lt;br /&gt;XML is now as important for the Web as HTML was to the foundation of the Web.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://indonetasia.wordpress.com/2009/04/06/what-is-xml/" target="_blank"&gt; More Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Courtesy:http://indonetasia.wordpress.com/2009/04/06/what-is-xml/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8188557561881583142?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8188557561881583142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8188557561881583142' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8188557561881583142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8188557561881583142'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/what-is-xml.html' title='What is XML'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-4287374069103499334</id><published>2011-01-25T13:15:00.000-08:00</published><updated>2011-01-25T13:15:13.724-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XACML'/><title type='text'>Introduction to XACML: Access Control Policies in XML</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;h2&gt;Introduction&lt;/h2&gt;This document discusses the &lt;a class="jive-link-external-small" href="http://docs.oasis-open.org/xacml/2.0/access_control-xacml-2.0-core-spec-os.pdf"&gt;eXtensible Access Control Markup Language&lt;/a&gt; (XACML), an XML language for specifying security policies. &lt;em&gt;Security policies&lt;/em&gt;  are ways to describe who has access to what resources under what  conditions. For a large enterprise, there are multiple places at which  such security policies must be enforced. It would therefore seem logical  to define security policies in a technology neutral way, so that they  can be reused. That is exactly the purpose that XACML serves.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Intended Audience&lt;/h2&gt;Anyone with an interest in security: developers, administrators, HR people, etc. Basic knowledge of XML is assumed.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;XACML Overview&lt;/h2&gt;The  following figure shows the components (orange rectangles) that make up  an XACML-based security system and the data (blue ovals) that those  components need as input:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="https://community.emc.com/servlet/JiveServlet/showImage/16439/xacml-overview.png"&gt;&lt;img alt="xacml-overview.png" class="jive-image" src="https://community.emc.com/servlet/JiveServlet/downloadImage/16439/xacml-overview.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol start="1"&gt;&lt;li&gt;A &lt;strong&gt;Request&lt;/strong&gt; comes in at a &lt;strong&gt;Policy Enforcement Point&lt;/strong&gt; (PEP).&lt;/li&gt;&lt;li&gt;The &lt;strong&gt;PEP&lt;/strong&gt; forwards the &lt;strong&gt;Request&lt;/strong&gt; to the &lt;strong&gt;Context Handler&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;The &lt;strong&gt;Context Handler&lt;/strong&gt; asks the &lt;strong&gt;Policy Information Point&lt;/strong&gt; (PIP) for &lt;strong&gt;Context Attributes&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;The &lt;strong&gt;PIP&lt;/strong&gt; collects &lt;strong&gt;Context Attributes&lt;/strong&gt; from the &lt;strong&gt;Subject&lt;/strong&gt; (e.g. the role), the &lt;strong&gt;Resource&lt;/strong&gt; (e.g. it's location), and the &lt;strong&gt;Environment&lt;/strong&gt; (e.g. the location from where the &lt;strong&gt;Request&lt;/strong&gt; is made) and returns them to the &lt;strong&gt;Context Handler&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;The &lt;strong&gt;Context Handler&lt;/strong&gt; gets the &lt;strong&gt;Resource&lt;/strong&gt;'s content.&lt;/li&gt;&lt;li&gt;The &lt;strong&gt;Context Handler&lt;/strong&gt; presents the &lt;strong&gt;Request&lt;/strong&gt; to the &lt;strong&gt;Policy Decision Point&lt;/strong&gt; (PDP), along with the &lt;strong&gt;Context Attributes&lt;/strong&gt; and (optionally) the &lt;strong&gt;Resource&lt;/strong&gt;'s content.&lt;/li&gt;&lt;li&gt;The &lt;strong&gt;PDP&lt;/strong&gt; makes a decision based on the security policies that the &lt;strong&gt;Policy Administration Point&lt;/strong&gt; (PAP) has previously made available.&lt;/li&gt;&lt;li&gt;The &lt;strong&gt;PDP&lt;/strong&gt; returns its decision to the &lt;strong&gt;Context Handler&lt;/strong&gt;, which returns it to the &lt;strong&gt;PEP&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;The &lt;strong&gt;PEP&lt;/strong&gt; either grants or denies access to the &lt;strong&gt;Request&lt;/strong&gt;, based on the PDP's decision&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;There are two main points to take away from this. The first is that &lt;em&gt;the system is made up of components that can be standardized&lt;/em&gt;.  For instance, the PDP takes well-defined data as input and provides a  well-defined interface to the PAP and Context Handler. So organizations  don't need to re-invent the wheel by implementing their own PDP, instead  they can reuse an existing implementation and hook it up to their  implementation of non-standard components, like the PEP.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The second important point is that &lt;em&gt;security policies are specified separately from where they are enforced&lt;/em&gt;,  which means that we can reuse them in multiple enforcement places. And  there is yet another way in which XACML promotes reuse. To see that, we  need to take a closer look at how security policies are specified in  XACML.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Specifying Access Control: Rules, Policies, and Policy Sets&lt;/h2&gt;&lt;h3&gt;Rules&lt;/h3&gt;A &lt;strong&gt;Rule&lt;/strong&gt; combines a Target, an Effect and a Condition. The &lt;strong&gt;Target&lt;/strong&gt;  specifies what the Rule is applicable for: any or all of the requested  Action, the Subject requesting the Action, the Resource that the  requested Action pertains to, and the Environment within which the  Action is to be performed. The &lt;strong&gt;Effect&lt;/strong&gt; of the Rule is to deny or permit the Action. The optional &lt;strong&gt;Condition&lt;/strong&gt; further refines the applicability of the Target.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;Here's a simple example of a Rule:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-xml"&gt;&lt;span class="jive-xml-tag"&gt;&lt;rule effect="Permit" ruleid="rul-0001"&gt;&lt;/rule&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-xml"&gt;&lt;span class="jive-xml-tag"&gt;&lt;a name='more'&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;description&gt;&lt;/description&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Some optional text that explains the purpose of the rule&lt;br /&gt;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;target&gt;&lt;/target&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;subjects&gt;&lt;/subjects&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;subject&gt;&lt;/subject&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;subjectmatch matchid="&amp;lt;br"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "urn:oasis:names:tc:xacml:2.0:function:string-equal"&amp;gt;&lt;/subjectmatch&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;span&gt;&lt;attributevalue datatype="&amp;lt;br"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&lt;/attributevalue&gt;&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema#string" target="_blank"&gt;http://www.w3.org/2001/XMLSchema#string&lt;/a&gt;&lt;span&gt;"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; developer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;subjectattributedesignator&gt;&lt;/subjectattributedesignator&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; role&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;This piece of XACML specifies that anybody with the &lt;span style="font-family: courier new,courier;"&gt;developer&lt;/span&gt; role can do anything to any resource. In the example above, we assume the &lt;span style="font-family: courier new,courier;"&gt;role&lt;/span&gt; Attribute to be a single string value, but XACML also supports multi-valued Attributes.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;Note  that the PIP component needs to be able to extract a value from the  Request (see below) that belongs to the Subject attribute named in the &lt;span style="font-family: courier new,courier;"&gt;SubjectAttributeDesignator&lt;/span&gt; element (&lt;span style="font-family: courier new,courier;"&gt;role&lt;/span&gt; in the above example). An alternative way of extracting values from the Request is by providing an XPath expression in the &lt;span style="font-family: courier new,courier;"&gt;AttributeSelector&lt;/span&gt; element.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The PDP component needs to be able to understand the function specified using the &lt;span style="font-family: courier new,courier;"&gt;MatchId&lt;/span&gt; attribute (&lt;span style="font-family: courier new,courier;"&gt;urn:oasis:names:tc:xacml:2.0:function:string-equal&lt;/span&gt;  in the example). XACML makes many standard functions available to  policy writers, and the specification allows for adding custom ones as  well.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;A Rule can also contain a Condition that must be satisfied for the Rule to return its Effect. If the Condition returns &lt;span style="font-family: courier new,courier;"&gt;Indeterminate&lt;/span&gt;, the Rule also returns &lt;span style="font-family: courier new,courier;"&gt;Indeterminate&lt;/span&gt;. If the Condition returns &lt;span style="font-family: courier new,courier;"&gt;False&lt;/span&gt;, the Rule returns &lt;span style="font-family: courier new,courier;"&gt;NotApplicable&lt;/span&gt;. If the Condition returns &lt;span style="font-family: courier new,courier;"&gt;True&lt;/span&gt;, the value of the Effect element is returned, which is either &lt;span style="font-family: courier new,courier;"&gt;Permit&lt;/span&gt; or &lt;span style="font-family: courier new,courier;"&gt;Deny&lt;/span&gt;. If the Condition is missing, as in the above example, it is assumed to be &lt;span style="font-family: courier new,courier;"&gt;True&lt;/span&gt;.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;Rules can be separately evaluated, but they cannot live on their own: they must be part of a Policy. &lt;em&gt;Rules are the smallest unit of reuse in XACML, while Policies are the smallest unit of evaluation.&lt;/em&gt;&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Policies&lt;/h3&gt;A &lt;strong&gt;Policy&lt;/strong&gt;  has a Target, a Rule-Combining Algorithm, some Rules, and some  Obligations. We've seen the Target already as part of a Rule. Since a  Policy also specifies a Target, a Rule need not specify one. If it  doesn't, then it inherits the Target from the Policy. The &lt;strong&gt;Rule-Combining Algorithm&lt;/strong&gt; specifies the procedure by which the results of evaluating the Rules are combined when evaluating the Policy. An &lt;strong&gt;Obligation&lt;/strong&gt;  is an operation specified in a Policy that should be performed by the  PEP in conjunction with the enforcement of an authorization decision.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;Here's the above example Rule wrapped in a Policy:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="jive-pre"&gt;&lt;code class="jive-code jive-xml"&gt;&lt;span class="jive-xml-tag"&gt;&lt;policy policyid="pol-0001" rulecombiningalgid="&amp;lt;br"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:deny-overrides"&amp;gt;&lt;/policy&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;description&gt;&lt;/description&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Some optional text that explains the purpose of the policy&lt;br /&gt;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;target&gt;&lt;/target&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;subjects&gt;&lt;/subjects&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;subject&gt;&lt;/subject&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;subjectmatch matchid="&amp;lt;br"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "urn:oasis:names:tc:xacml:2.0:function:string-equal"&amp;gt;&lt;/subjectmatch&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;span&gt;&lt;attributevalue datatype="&amp;lt;br"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&lt;/attributevalue&gt;&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://www.w3.org/2001/XMLSchema#string" target="_blank"&gt;http://www.w3.org/2001/XMLSchema#string&lt;/a&gt;&lt;span&gt;"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; developer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;subjectattributedesignator&gt;&lt;/subjectattributedesignator&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;span class="jive-xml-tag"&gt;&lt;rule effect="Permit" ruleid="rul-0001"&gt;&lt;/rule&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="jive-xml-tag"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The &lt;span style="font-family: courier new,courier;"&gt;RuleCombiningAlgId&lt;/span&gt; attribute on the &lt;span style="font-family: arial,helvetica,sans-serif;"&gt;Policy&lt;/span&gt;  identifies the algorithm that combines Effects from multiple Rules into  a single result. The PDP must implement such an algorithm. The Policy  may also specify parameters to be used as input for combining  algorithms.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;The  Rule in this Policy example does not specify a Target, but it could. In  that case, the Rule would only be evaluated for the Policy if its  Target is matched.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Policy Sets&lt;/h3&gt;Just as Rules can be reused in Policies, entire Policies can be reused in Policy Sets. A &lt;strong&gt;Policy Set&lt;/strong&gt; contains a Target, a Policy-Combining Algorithm, a set of Policies, and some Obligations. The &lt;strong&gt;Policy-Combining Algorithm&lt;/strong&gt;  specifies the procedure by which the results of evaluating the  component Policies are combined. Note that a Policy Set can reuse not  just Policies, but also entire Policy Sets. This Lego-like structure  makes it possible to build complex security policies without  duplication.&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;Here's the above Policy wrapped in a Policy Set:&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;&lt;a href="https://community.emc.com/docs/DOC-7314" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:https://community.emc.com/docs/DOC-7314&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-4287374069103499334?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/4287374069103499334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=4287374069103499334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4287374069103499334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4287374069103499334'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/introduction-to-xacml-access-control.html' title='Introduction to XACML: Access Control Policies in XML'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-4050293298834951090</id><published>2011-01-24T13:24:00.000-08:00</published><updated>2011-01-24T13:24:28.695-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='websphere'/><title type='text'>Migrating from Websphere 6.0 to Websphere 7.0</title><content type='html'>The application I manage at work is a client/server application written entirely in java.  My company for years has been an IBM shop, so we have a large Websphere presence which is where the server is deployed.  The application had been running on Websphere 5.1 for a few years and was fairly recently migrated to Websphere 6.0 to remain on a supported version of Websphere.  Because the end of life for Websphere 6.0 is September 2010, we’re starting to plan for another upgrade now (we have major releases in January and June, so we’re targeting the June ’10 release for the upgrade).  Websphere 6.1, if IBM holds to it’s pattern of every 2 years or so will remain supported until September 2012, however there’s no current end of life date documented yet (link).  To get the longest life possible, I’m looking at Websphere 7.0 as the target platform for our June ’10 upgrade.&lt;br /&gt;&lt;br /&gt;We have RAD 7.5 in house and a couple members of my team have installed it.  I’ve been working on getting a local WAS 7.0 server up and running and getting our app deployed on it.  There are some major differences between Websphere 5.1/6.0 and 7.0.  I won’t go into details as those are readily available on IBM’s website, but would like to share some of my observations and pain so far.&lt;br /&gt;&lt;br /&gt;Application Background: The server side of our application is effectively broken down into 2 pieces.  One component is what we call a provision server that is essentially a cache of configuration data read from DB2.  This configuration information contains rules which drive how the second component operates.  The second component is the main workhorse app which receives a request, and creates a response based on configuration data retrieved from the provision server (if necessary) and data retrieved from any number of other applications we interface with.  We have 2 provision server jvms for load balancing and fail over and roughly 20 app engine jvms spread across 2 data centers (the app engine hosts roughly 3500 end users and we target 200 users per jvm…roughly).&lt;br /&gt;&lt;br /&gt;Unsolved Problem 1 – Remote EJB calls across separate local jvm/profiles doesn’t work: Now that you have a high level view of our applications architecture, here’s my first dilema which I haven’t found a solution to.  Websphere now has the concept of profiles.  Basically a profile equates to a jvm instance.  It’s a little more than that, but that’s a good enough understanding for now.  So if you want 2 distinct/separate JVMs configured differently, you would need to create 2 profiles and create servers associated with each profile.  In all our lifecycles, we have distinct jvms setup for provision and app engine – we don’t cluster the app engine with the provision server because we want our dev/test lifecycles to mirror production, and production is separate because we don’t want a 1:1 correlation of provision server to app engine as the provision server is memory intensive and 2 jvms can handle the entire app engine load very effectively.  So I want to replicate that with my RAD 7.5 setup – 1 app engine jvm and 1 provision server jvm running locally within RAD 7.5.  That requires 2 separate profiles to be created, then a server defined and associated for each one.  No problem.  Where I run into problems is at runtime.  The app engine makes remote (cross-jvm) EJB calls to the provision server.  That requires a JNDI lookup of an EJB remote home object.  For some reason, jvm 1 cannot see any JNDI objects that are stored in jvm 2.  When I do an initial context and dump out the contents, all I ever get are the local JVM’s name server items.  But if I point the local server at one of our test lifecycle provision servers, it sees those just fine.  I have no idea why 1 local jvm can’t access another local jvm’s name server.  I’m not sure if it’s because of the base version of Websphere that’s running, or some other limitation of the development environment, but that is one hurdle I can’t get over.  So my workaround is to just deploy the provision server and app engine in the same jvm as local ejb calls work just fine.&lt;br /&gt;&lt;br /&gt;Solved Problem 2 – creating a secure socket for an outbound ssl SOAP request: The app engine is a portal of sorts.  It will call any number of external systems to retrieve data and aggregate that data as needed based on the request.  There are several system we currently interface and several protocols we use to do so…SOAP over SSL, EJB, JDBD for example.  We use apache soap (old, but still works) to call several external systems, one of which is the main system we interface with.  In Websphere 5.1 and 6.0, we set our own JKS truststore for the request using the javax.net.ssl.truststore property.  This truststore contains the SSL certificates of our target URL.  It just worked.  Now we move to Websphere 7.0 and the same requests which work in a local WAS 6.o server no longer work.  After much digging and reading of documentation, it turns out WAS 6.1 (and 7.0) changed how SSL security was handled.  Long story short, when WAS sees a secure socket being created, it assumes responsibility for securing that connection (Big Brother?) instead of letting you do your own thing.  Now, there are ways around it, but the point is it is NOT backwards compatible.  The quick fix for this was to put the SSL certs in Websphere’s default truststore (go to the admin console, under security and then ssl configuration and you can find a whole bunch of related config).  There are several articles on this and I highly recommend reading the Websphere Application Server V7.0  Security Guide for background on this.  It is extremely helpful.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a href="http://bairdblog.wordpress.com/" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://bairdblog.wordpress.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-4050293298834951090?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/4050293298834951090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=4050293298834951090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4050293298834951090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4050293298834951090'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/migrating-from-websphere-60-to.html' title='Migrating from Websphere 6.0 to Websphere 7.0'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-6767603492096570536</id><published>2011-01-24T07:43:00.000-08:00</published><updated>2011-01-24T07:43:29.498-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Mozilla blocks Skype's glitchy Firefox toolbar extension</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;skype-large-logoThe Skype toolbar add-on has became a headache for Mozilla, and will be blocked from the Firefox browser until further notice. Mozilla announced yesterday that the Skype feature was responsible for roughly 40,000 crashed browsers in the last week, and was seriously slowing down page loading.&lt;br /&gt;&lt;br /&gt;We can’t imagine there are too many people who are crushed about losing a toolbar plug-in, but for those of you that are – don’t worry too much yet. Mozilla reassures users that this is only a “soft block” while it looks into identifying and fixing the issues with help from the Skype Toolbar team. This also means that while the extension is currently disabled on Firefox’s end, you will be notified of the block and allowed to re-enable it as you see fit.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So what are you missing until the toolbar is fully functional? The plug-in cooperates with Skype software to identify phone numbers on individual web pages and making it that much easier to make VoIP calls.&lt;br /&gt;&lt;h3&gt;&lt;a href="http://news.yahoo.com/s/digitaltrends/20110121/tc_digitaltrends/mozillablocksskypesglitchyfirefoxtoolbarextension;_ylt=AikQKv2wWnWc95POlNT_2auor7oF;_ylu=X3oDMTQycHEwOW5lBGFzc2V0A2RpZ2l0YWx0cmVuZHMvMjAxMTAxMjEvbW96aWxsYWJsb2Nrc3NreXBlc2dsaXRjaHlmaXJlZm94dG9vbGJhcmV4dGVuc2lvbgRwb3MDNQRzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNtb3ppbGxhYmxvY2s-" target="_blank"&gt;More Here &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://news.yahoo.com/s/digitaltrends/20110121/tc_digitaltrends/mozillablocksskypesglitchyfirefoxtoolbarextension;_ylt=AikQKv2wWnWc95POlNT_2auor7oF;_ylu=X3oDMTQycHEwOW5lBGFzc2V0A2RpZ2l0YWx0cmVuZHMvMjAxMTAxMjEvbW96aWxsYWJsb2Nrc3NreXBlc2dsaXRjaHlmaXJlZm94dG9vbGJhcmV4dGVuc2lvbgRwb3MDNQRzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNtb3ppbGxhYmxvY2s-&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-6767603492096570536?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/6767603492096570536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=6767603492096570536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6767603492096570536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6767603492096570536'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/mozilla-blocks-skypes-glitchy-firefox.html' title='Mozilla blocks Skype&apos;s glitchy Firefox toolbar extension'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-593321941858968851</id><published>2011-01-24T07:42:00.001-08:00</published><updated>2011-01-24T07:42:35.575-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>New Firefox Feature Blocks Behavioral Ads</title><content type='html'>Mozilla, the developer of the Firefox browser, is working a feature that will allow users to opt-out of online behavioral advertising.&lt;br /&gt;&lt;br /&gt;The goal is to give users "a deeper understanding of and control over personal information online," Mozilla's head of privacy said in a blog posted on Sunday.&lt;br /&gt;&lt;br /&gt;The feature will allow users to configure their Firefox browser to tell websites and advertisers that they would like to opt-out of any advertising based on their behavior, Alex Fowler [cq] wrote in his blog post. The user's preference is communicated to websites and third party ad servers using a new "Do Not Track HTTP header", which is sent with every click or page view in Firefox.&lt;br /&gt;&lt;br /&gt;The feature wouldn't block advertising altogether, only personalized ads. If the user has enabled the feature, the advertiser would have to exchange the personalized ad for a standard ad, according to a diagram included in the blog post.&lt;br /&gt;&lt;br /&gt;Mozilla believes the header-based approach will be better for the Web in the long run, compared to cookies or blacklists. Using a header is less complex, more persistent than cookie-based solutions and at the same time simple to locate and use. It doesn't rely on a user's finding and loading lists of ad networks and advertisers to work, Fowler wrote.&lt;br /&gt;&lt;br /&gt;However, rolling out the feature will be a challenge. For it to work, both browsers and sites will have to implement it. To get past this issue, Mozilla wants to work with the technical community to standardize the header across the industry, according to Fowler. It is also proposing that the feature be considered for upcoming releases of Firefox.&lt;br /&gt;&lt;H3&gt;&lt;A HREF="http://news.yahoo.com/s/pcworld/20110124/tc_pcworld/newfirefoxfeatureblocksbehavioralads;_ylt=AlXHhNQyzJGhm5MssKh57mGor7oF;_ylu=X3oDMTNmbzhxZHEzBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjQvbmV3ZmlyZWZveGZlYXR1cmVibG9ja3NiZWhhdmlvcmFsYWRzBHBvcwMxBHNlYwN5bl9wYWdpbmF0ZV9zdW1tYXJ5X2xpc3QEc2xrA25ld2ZpcmVmb3hmZQ--" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://news.yahoo.com/s/pcworld/20110124/tc_pcworld/newfirefoxfeatureblocksbehavioralads;_ylt=AlXHhNQyzJGhm5MssKh57mGor7oF;_ylu=X3oDMTNmbzhxZHEzBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjQvbmV3ZmlyZWZveGZlYXR1cmVibG9ja3NiZWhhdmlvcmFsYWRzBHBvcwMxBHNlYwN5bl9wYWdpbmF0ZV9zdW1tYXJ5X2xpc3QEc2xrA25ld2ZpcmVmb3hmZQ--&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-593321941858968851?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/593321941858968851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=593321941858968851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/593321941858968851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/593321941858968851'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/new-firefox-feature-blocks-behavioral.html' title='New Firefox Feature Blocks Behavioral Ads'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8048397905271422734</id><published>2011-01-24T07:40:00.000-08:00</published><updated>2011-01-24T07:40:42.748-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IdMgeneral'/><title type='text'>Business booming for cyber criminals: security firm</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Cyber criminals are selling stolen credit card details for as little as two dollars each and renting computer networks for spam for 15 dollars as part of a vast online black market, according to a report released Thursday. &lt;br /&gt;PandaLabs, the anti-malware laboratory of computer security company Panda Security, published the various prices for cyber crime-related products after conducting an undercover investigation into online crime networks.&lt;br /&gt;&lt;br /&gt;"This is a rapidly growing industry and cyber-criminals are aiding and abetting each other's efforts to steal personal information for financial profit," PandaLabs said.&lt;br /&gt;&lt;br /&gt;"PandaLabs discovered a vast network selling stolen bank details along with other types of products in forums and more than 50 dedicated online stores."&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;The computer security firm said cyber criminals had diversified from stolen bank and credit card details to a "much broader range of hacked confidential information" including log-ins, passwords, fake credit cards and other data.&lt;br /&gt;&lt;br /&gt;"Since anonymity is of the utmost importance, many sellers use underground forums to keep out of sight," PandaLabs said. "Their offices are effectively the Internet.&lt;br /&gt;&lt;br /&gt;"Some are more brazen about their activities, and have accounts on Facebook and Twitter which they use as shop windows."&lt;br /&gt;&lt;br /&gt;PandaLabs said a credit card number or bank account details can be purchased for two dollars but that does not include any information on the available credit line or bank balance.&lt;br /&gt;&lt;br /&gt;"The price increases to 80 dollars for smaller bank balances and upwards of 700 dollars to access accounts with a guaranteed balance of 82,000 dollars," it said.&lt;br /&gt;&lt;br /&gt;PandaLabs said the price for rental of a botnet, a network of infected computers, for sending spam or other purposes begins at 15 dollars.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a href="http://news.yahoo.com/s/afp/20110120/ts_alt_afp/usitcomputersecuritycrimepandalabs;_ylt=Aop13UJrRqGYRwjBxySuVgmDzdAF;_ylu=X3oDMTNhampnYjdzBGFzc2V0A2FmcC8yMDExMDEyMC91c2l0Y29tcHV0ZXJzZWN1cml0eWNyaW1lcGFuZGFsYWJzBHBvcwMxNgRzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNidXNpbmVzc2Jvb20-" target="_blank"&gt;More Here &lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://news.yahoo.com/s/afp/20110120/ts_alt_afp/usitcomputersecuritycrimepandalabs;_ylt=Aop13UJrRqGYRwjBxySuVgmDzdAF;_ylu=X3oDMTNhampnYjdzBGFzc2V0A2FmcC8yMDExMDEyMC91c2l0Y29tcHV0ZXJzZWN1cml0eWNyaW1lcGFuZGFsYWJzBHBvcwMxNgRzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNidXNpbmVzc2Jvb20-&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8048397905271422734?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8048397905271422734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8048397905271422734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8048397905271422734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8048397905271422734'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/business-booming-for-cyber-criminals.html' title='Business booming for cyber criminals: security firm'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8165105532412521861</id><published>2011-01-24T07:39:00.000-08:00</published><updated>2011-01-24T07:39:44.141-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Twitter Targeted With Fake Antivirus Software Scam</title><content type='html'>Twitter has been resetting passwords for accounts that started distributing links promoting fake antivirus software in an attack that used Google's Web address shortening service to conceal the links' destination.&lt;br /&gt;&lt;br /&gt;The links, masked by Google "goo.gl" URL shortener, bounce through a series of redirect URLs before landing on a Ukrainian top-level domain that then redirects to an IP address associated with other fake antivirus software scams, wrote Nicolas Brulez of Kaspersky Lab on a company blog.&lt;br /&gt;&lt;br /&gt;Victims landing on the fake antivirus software page are prompted to scan their computer. If they approve the scan, the page asks if they want to remove threats from their computer: doing so starts the download of a bogus security program called "Security Shield."&lt;br /&gt;&lt;br /&gt;Fake antivirus programs remain a pervasive problem on the Internet, with hundreds of variations. The applications target Windows users, and the programs are often installed by exploiting vulnerabilities in a computer's software. Once installed, the applications badger users to pay for a full version of the program. Many of the programs are totally ineffective at actually removing malware from a computer.&lt;br /&gt;&lt;br /&gt;Del Harvey, head of Twitter's Trust and Safety Team, wrote on her Twitter account that "we're working to remove the malware links and reset passwords on compromised accounts."&lt;br /&gt;&lt;br /&gt;"Did you follow a goo.gl link that led to a page telling you to install 'Security Shield' Rogue AV?" she wrote. "That's malware. Don't install."&lt;br /&gt;&lt;br /&gt;Although Brulez classifed the attack as a worm, implying it spreads from account to account, Harvey said the issue was not related to a worm.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a href="http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/twittertargetedwithfakeantivirussoftwarescam;_ylt=ApQopnp9SFXhgtN5sicrG_CDzdAF;_ylu=X3oDMTNvMW1yMmRoBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvdHdpdHRlcnRhcmdldGVkd2l0aGZha2VhbnRpdmlydXNzb2Z0d2FyZXNjYW0EcG9zAzEyBHNlYwN5bl9wYWdpbmF0ZV9zdW1tYXJ5X2xpc3QEc2xrA3R3aXR0ZXJ0YXJnZQ--" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/twittertargetedwithfakeantivirussoftwarescam;_ylt=ApQopnp9SFXhgtN5sicrG_CDzdAF;_ylu=X3oDMTNvMW1yMmRoBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvdHdpdHRlcnRhcmdldGVkd2l0aGZha2VhbnRpdmlydXNzb2Z0d2FyZXNjYW0EcG9zAzEyBHNlYwN5bl9wYWdpbmF0ZV9zdW1tYXJ5X2xpc3QEc2xrA3R3aXR0ZXJ0YXJnZQ--&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8165105532412521861?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8165105532412521861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8165105532412521861' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8165105532412521861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8165105532412521861'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/twitter-targeted-with-fake-antivirus.html' title='Twitter Targeted With Fake Antivirus Software Scam'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-3449074946892661815</id><published>2011-01-24T07:35:00.001-08:00</published><updated>2011-01-24T07:35:36.938-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><title type='text'>Cybercrooks Tire of Windows -- They're After Your iPhone Now</title><content type='html'>Cybercrime is moving away from traditional targets, like Windows PCs, and focusing more on mobile devices, according to Cisco's 2010 Annual Security Report (PDF)]. As Microsoft becomes more savvy about patching holes in its OS, cybercriminals are treading into new territories, with a strong focus on iOS and Android.&lt;br /&gt;&lt;br /&gt;When the Federal government declared jailbreaking cellphones legal, intrepid hackers sought and discovered more exploits in mobile operating systems. A prominent example used by Cisco is JailbreakMe 2.0, the Safari-based iPhone flaw -- which has since been patched -- that allowed users to jailbreak with very little tampering of iOS.&lt;br /&gt;&lt;br /&gt;Cisco threat research manager Scott Olechowski also said that the proliferation of Android will likely lead to major attacks on Google's OS in the future. Olechowski noted that the more devices that adopt Android -- such as smartphones, tablets, even vehicles -- the more enticing the open-source OS becomes, especially when it comes to the big bucks in the enterprise.&lt;br /&gt;&lt;br /&gt;Most concerning for mobile hacks are apps, many of which access user information without permission. Just yesterday, Trapster, an app that warns drivers when a speed trap is ahead, was hacked, exposing millions of iPhone, Android, BlackBerry, and Windows Mobile phone passwords -- some of which may also have been linked to a user's PayPal account.&lt;br /&gt;&lt;br /&gt;Many companies using smartphones for work do not have a cybersecurity strategy planned or in place, according to Cisco. This is a major concern for iOS business consumers, given that the iPhone is being used at 88 percent of the Fortune 100 companies and 83 percent of the Fortune 500.&lt;br /&gt;&lt;br /&gt;And for you PC users out there: Tired of your Mac-using friends' snooty condescension about how their machines are impervious to viruses? Turns out that hackers are targeting Mac users more and more.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;&lt;a href="http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/cybercrookstireofwindowstheyreafteryouriphonenow;_ylt=Aouh6fYbPbbxyiJYwGk9OJmDzdAF;_ylu=X3oDMTNzb2RyajBvBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvY3liZXJjcm9va3N0aXJlb2Z3aW5kb3dzdGhleXJlYWZ0ZXJ5b3VyaXBob25lbm93BHBvcwMxMARzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNjeWJlcmNyb29rc3Q-" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/cybercrookstireofwindowstheyreafteryouriphonenow;_ylt=Aouh6fYbPbbxyiJYwGk9OJmDzdAF;_ylu=X3oDMTNzb2RyajBvBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvY3liZXJjcm9va3N0aXJlb2Z3aW5kb3dzdGhleXJlYWZ0ZXJ5b3VyaXBob25lbm93BHBvcwMxMARzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNjeWJlcmNyb29rc3Q-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-3449074946892661815?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/3449074946892661815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=3449074946892661815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3449074946892661815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/3449074946892661815'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/cybercrooks-tire-of-windows-theyre.html' title='Cybercrooks Tire of Windows -- They&apos;re After Your iPhone Now'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-4084333384012316746</id><published>2011-01-24T07:34:00.002-08:00</published><updated>2011-01-24T07:34:54.215-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GOOGLE'/><title type='text'>Google: Search Engine Spam on the Rise</title><content type='html'>If you've noticed lately that Google's search results are a bit spammy, you're not alone.&lt;br /&gt;&lt;br /&gt;In a blog post, Google Principal Engineer Matt Cutts acknowledged that "we have seen a slight uptick of spam in recent months," and that tech watchers are growing critical. Cutts then outlined a few new initiatives to improve the quality of Google's search results.&lt;br /&gt;&lt;br /&gt;Among them: Google has a new "document-level classifier" that's better at detecting the hallmarks of spam, such as oft-repeated keywords; Google is improving its ability to detect hacked sites, which were a big source of spam last year; and the company is evaluating other changes, including a crackdown on Websites that primarily copy other sites' content.&lt;br /&gt;&lt;br /&gt;But on the issue of "content farms," Cutts didn't have all the answers. If you're not familiar with the term, you've probably stumbled upon some content from purveyors. For example, many in the media call sites Demand Media and AssociatedContent content farms. Rich in search keywords and produced on the cheap, content from these sites appears prominently in search results but seem geared solely towards appeasing search algorithms.&lt;br /&gt;&lt;br /&gt;Although Google tweaked its algorithms last year to give content mills less prominence, the problem hasn't gone away, and Cutts' blog post offered no further solutions. "The fact is that we're not perfect, and combined with users' skyrocketing expectations of Google, these imperfections get magnified in perception," he wrote. "However, we can and should do better."&lt;br /&gt;&lt;br /&gt;Cutts reiterated that Websites don't get preferential treatment by purchasing or displaying Google ads. Their rankings don't improve and they're just as likely to be punished for violating Google's quality guidelines.&lt;br /&gt;&lt;br /&gt;I suppose it's comforting to hear Google address issues of search quality, especially as criticism grows louder. Notably, new search competitor Blekko has created a spam clock to count how many spam pages have been created since the start of the year. Google says its results have half the spam they did five years ago, but that count is meaningless if low-quality content mills are able to game the system and get high page rankings.&lt;br /&gt;&lt;h3&gt;&lt;a href="http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/googlesearchenginespamontherise;_ylt=As40wMweskfdCma18z44CwuDzdAF;_ylu=X3oDMTNhNjU0bmllBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvZ29vZ2xlc2VhcmNoZW5naW5lc3BhbW9udGhlcmlzZQRwb3MDOARzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNnb29nbGVzZWFyY2g-" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/googlesearchenginespamontherise;_ylt=As40wMweskfdCma18z44CwuDzdAF;_ylu=X3oDMTNhNjU0bmllBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvZ29vZ2xlc2VhcmNoZW5naW5lc3BhbW9udGhlcmlzZQRwb3MDOARzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNnb29nbGVzZWFyY2g-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-4084333384012316746?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/4084333384012316746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=4084333384012316746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4084333384012316746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/4084333384012316746'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/google-search-engine-spam-on-rise.html' title='Google: Search Engine Spam on the Rise'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-8259009033071039129</id><published>2011-01-24T07:34:00.000-08:00</published><updated>2011-01-24T07:34:13.737-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Beware Goo.gl Fake Antivirus Worm on Twitter</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Twitter and &lt;a class="kLink" href="http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/bewaregooglfakeantiviruswormontwitter;_ylt=AkYzObtzkEvuxfACgaveXiSDzdAF;_ylu=X3oDMTNnM3BocXZwBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvYmV3YXJlZ29vZ2xmYWtlYW50aXZpcnVzd29ybW9udHdpdHRlcgRwb3MDNgRzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNiZXdhcmVnb29nbGY-#" id="KonaLink0" target="undefined"&gt;&lt;span style="color: #366388; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;Twitter &lt;/span&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;users&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; are being targeted by a malicious worm. The worm sends out tweets with a goo.gl shortened URL link directed to a rogue antivirus application. The attack demonstrates once again how URL shortening can be a Pandora's box as &lt;a class="kLink" href="http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/bewaregooglfakeantiviruswormontwitter;_ylt=AkYzObtzkEvuxfACgaveXiSDzdAF;_ylu=X3oDMTNnM3BocXZwBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvYmV3YXJlZ29vZ2xmYWtlYW50aXZpcnVzd29ybW9udHdpdHRlcgRwb3MDNgRzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNiZXdhcmVnb29nbGY-#" id="KonaLink1" target="undefined"&gt;&lt;span style="color: #366388; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;users &lt;/span&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;click&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; on links with no clue where they might lead.&lt;br /&gt;A &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/bewaregooglfakeantiviruswormontwitter/39777272/SIG=12tmmr1pa/*http://nakedsecurity.sophos.com/2011/01/20/fake-anti-virus-attack-twitter-via-goo-gl-links/"&gt;post on Naked Security&lt;/a&gt; by Sophos' Graham Cluley describes the threat. "Thousands of Twitter users are finding that their accounts have been &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/bewaregooglfakeantiviruswormontwitter/39777272/SIG=13egifklq/*http://www.pcworld.com/businesscenter/article/216535/spam_traffic_returns_after_holiday_break.html?tk=hp_new"&gt;tweeting out malicious links&lt;/a&gt; without their permission, pointing to a fake &lt;a class="kLink" href="http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/bewaregooglfakeantiviruswormontwitter;_ylt=AkYzObtzkEvuxfACgaveXiSDzdAF;_ylu=X3oDMTNnM3BocXZwBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvYmV3YXJlZ29vZ2xmYWtlYW50aXZpcnVzd29ybW9udHdpdHRlcgRwb3MDNgRzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNiZXdhcmVnb29nbGY-#" id="KonaLink2" target="undefined"&gt;&lt;span style="color: #366388; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;anti-virus&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; attack," adding, "A quick search on the popular micro-blogging network finds many tweets from users containing no message other than a goo.gl shortened link (Google's equivalent to bit.ly or tinyurl), which itself points to a URL ending with "m28sx.html".&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Attacks hiding behind shortened URLs are not new, and are also not technically challenging to execute. By their very nature, URL shortening services like goo.gl and bit.ly take cumbersome, long URLs and condense them down to a nice, short alias that can be used in its place. The concept makes it much easier to send some exceptionally long links, and is a necessity for a site like Twitter which caps messages at 140 characters.&lt;br /&gt;Adam Wosotowsky, principal researcher at &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/bewaregooglfakeantiviruswormontwitter/39777272/SIG=11bsk7kl5/*http://www.mcafee.com/us/mcafee-labs.aspx"&gt;McAfee Labs&lt;/a&gt;, explains, "Shortened URL sites are not 100 percent malicious, so blocking the domain completely can cause false positives, which is something researchers try and avoid. Goo.gl is an example of a site associated with Google, so blocking the domain may be frowned upon by Google, allowing the spammer to continually abuse the site."&lt;br /&gt;Wosotowsky elaborates, "As we stated in our &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/bewaregooglfakeantiviruswormontwitter/39777272/SIG=12me4dhjc/*http://www.mcafee.com/us/resources/reports/rp-threat-predictions-2011.pdf?cid=WBB005"&gt;2011 Threat Predictions&lt;/a&gt;, we currently track and analyze--through multiple &lt;a class="kLink" href="http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/bewaregooglfakeantiviruswormontwitter;_ylt=AkYzObtzkEvuxfACgaveXiSDzdAF;_ylu=X3oDMTNnM3BocXZwBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvYmV3YXJlZ29vZ2xmYWtlYW50aXZpcnVzd29ybW9udHdpdHRlcgRwb3MDNgRzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNiZXdhcmVnb29nbGY-#" id="KonaLink4" target="undefined"&gt;&lt;span style="color: #366388; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;social &lt;/span&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;media &lt;/span&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;applications&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; and all URL shortening services--more than 3,000 shortened URLs per minute. We see a growing number of these used for spam, &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/bewaregooglfakeantiviruswormontwitter/39777272/SIG=13dv997uc/*http://www.pcworld.com/businesscenter/article/217340/mcdonalds_phishing_scam_im_not_lovin_it.html?tk=hp_new"&gt;scamming and other malicious purposes&lt;/a&gt;, and we expect to see shortened URL abuse invade all other forms of Internet communications."&lt;br /&gt;Shortened URLs provide attackers a simple, and commonly accepted means of obscuring malicious links. McAfee recommends using its proprietary URL shortening service--&lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/bewaregooglfakeantiviruswormontwitter/39777272/SIG=10hlhua7m/*http://mcaf.ee/"&gt;mcaf.ee&lt;/a&gt;. McAfee's shortened URLs are scanned and filtered to weed out malware. Of course, you can't really control what URL shortening service other people use to send links to you.&lt;br /&gt;&lt;/div&gt;&lt;H3&gt;&lt;A HREF="http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/bewaregooglfakeantiviruswormontwitter;_ylt=AkYzObtzkEvuxfACgaveXiSDzdAF;_ylu=X3oDMTNnM3BocXZwBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvYmV3YXJlZ29vZ2xmYWtlYW50aXZpcnVzd29ybW9udHdpdHRlcgRwb3MDNgRzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNiZXdhcmVnb29nbGY-" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/bewaregooglfakeantiviruswormontwitter;_ylt=AkYzObtzkEvuxfACgaveXiSDzdAF;_ylu=X3oDMTNnM3BocXZwBGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvYmV3YXJlZ29vZ2xmYWtlYW50aXZpcnVzd29ybW9udHdpdHRlcgRwb3MDNgRzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNiZXdhcmVnb29nbGY-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-8259009033071039129?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/8259009033071039129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=8259009033071039129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8259009033071039129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/8259009033071039129'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/beware-googl-fake-antivirus-worm-on.html' title='Beware Goo.gl Fake Antivirus Worm on Twitter'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-6105810094883142308</id><published>2011-01-24T07:33:00.000-08:00</published><updated>2011-01-24T07:33:21.074-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Don't Fear the Android Security Bogeyman</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Academic security researchers &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/dontfeartheandroidsecuritybogeyman/39777273/SIG=13l6b8uam/*http://www.pcworld.com/businesscenter/article/217133/soundminer_android_malware_listens_then_steals_phone_data.html"&gt;have created an ingenious piece of malware&lt;/a&gt; that runs on Android cell phones and steals &lt;a class="kLink" href="http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/dontfeartheandroidsecuritybogeyman;_ylt=Amlk36SxvOmYw6GPaEkqCUODzdAF;_ylu=X3oDMTNkZDhpNDk3BGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvZG9udGZlYXJ0aGVhbmRyb2lkc2VjdXJpdHlib2dleW1hbgRwb3MDNARzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNkb24zOXRmZWFydGg-#" id="KonaLink0" target="undefined"&gt;&lt;span style="color: #366388; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;credit &lt;/span&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;card &lt;/span&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;details&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;As is typical, many are heralding it as a sign of a &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/dontfeartheandroidsecuritybogeyman/39777273/SIG=13d335l3c/*http://www.pcworld.com/businesscenter/article/216420/smartphone_security_how_to_keep_your_handset_safe.html"&gt;smartphone security apocalypse&lt;/a&gt;, but they need to calm down. Cybercriminals simply aren't that smart, and there's nothing new to be worried about.&lt;br /&gt;The so-called Soundminer malware listens in on phone conversations and uses speech recognition to decode credit card and PIN details that users might mention when calling their bank, as an example. DTMF tones heard when keys are pressed are also recognized and decoded.&lt;br /&gt;The data is then passed to another piece of malware, called Deliverer, which sends it off to the hacker's HQ via the Internet.&lt;br /&gt;The clever part is how the two pieces of malware bypass Android's built-in security.&lt;br /&gt;&lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/dontfeartheandroidsecuritybogeyman/39777273/SIG=13ia2f1ng/*http://www.pcworld.com/businesscenter/article/202758/why_android_app_security_is_better_than_for_the_iphone.html"&gt;Individual permission is required from the user&lt;/a&gt; for each newly-installed app that wants to access a specific hardware component.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;A program that wanted permission to access the microphone and also send data would be a little suspicious, so Soundminer only requests to use the microphone. The Deliverer malware only requests to send data.&lt;br /&gt;Data exchange between the two programs would also be viewed as suspicious, so they use system communication channels built into Android that are designed to share &lt;a class="kLink" href="http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/dontfeartheandroidsecuritybogeyman;_ylt=Amlk36SxvOmYw6GPaEkqCUODzdAF;_ylu=X3oDMTNkZDhpNDk3BGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvZG9udGZlYXJ0aGVhbmRyb2lkc2VjdXJpdHlib2dleW1hbgRwb3MDNARzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNkb24zOXRmZWFydGg-#" id="KonaLink2" target="undefined"&gt;&lt;span style="color: #366388; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;system &lt;/span&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;settings&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; information. These only allow a handful of bytes to be transferred, but that's enough for a credit card number.&lt;br /&gt;Soundminer could be hidden in simple app that, for example, required microphone access permissions in order to make an on-screen balloon blow-up based on how much the user shouted. Deliverer could easily be integrated into a simple game that requests data transmission permission in order to report high scores, for example.&lt;br /&gt;In all, Soundminer is a well thought-out and ingenious piece of programming.&lt;br /&gt;And that's why we'll never, ever see anything like it in the real world.&lt;br /&gt;Criminals always prefer a quick and dirty approach. It's one of their defining characteristics&lt;br /&gt;There are two ways to rob a bank. You could get a job there and embezzle money secretly. Or you can run in, wave guns, and run out as quickly as possible with bags of money.&lt;br /&gt;Guess which is more popular?&lt;br /&gt;Sophistication, subtlety, and mastermind intelligence is limited to the movie criminals. The most successful criminals in the real world are those who keep things simple, and cybercrime is no different.&lt;br /&gt;I'm not suggesting we underestimate cybercriminals but the chances of them creating something as clever as Soundminer are extremely limited. It took a team of university researchers to come up with Soundminer, working at the City University of Hong Kong and Indiana University.&lt;br /&gt;Ultimately, why would cybercriminals want to bother with something as elaborate as Soundminer, when they can just send phony e-mails that catch-out gullible users and rake in the money?&lt;br /&gt;Good malware doesn't need to be clever or well made. It just needs some way of fooling people into handing over useful personal details, which history has proved is actually pretty easy. It also needs &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/dontfeartheandroidsecuritybogeyman/39777273/SIG=138g1b9s2/*http://www.pcworld.com/article/199621/20_percent_of_android_apps_can_threaten_privacy_says_vendor.html"&gt;some way of travelling around from device to device&lt;/a&gt; and, crucially, there's nothing new in the Soundminer research to indicate how this might be done. &lt;br /&gt;Soundminer highlighted some design flaws within Android, that hopefully will get addressed quickly, but there's really nothing else to cause concern. &lt;br /&gt;&lt;a class="kLink" href="http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/dontfeartheandroidsecuritybogeyman;_ylt=Amlk36SxvOmYw6GPaEkqCUODzdAF;_ylu=X3oDMTNkZDhpNDk3BGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvZG9udGZlYXJ0aGVhbmRyb2lkc2VjdXJpdHlib2dleW1hbgRwb3MDNARzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNkb24zOXRmZWFydGg-#" id="KonaLink3" target="undefined"&gt;&lt;span style="color: #366388; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;Security &lt;/span&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;companies&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; are &lt;a href="http://us.rd.yahoo.com/dailynews/pcworld/tc_pcworld/storytext/dontfeartheandroidsecuritybogeyman/39777273/SIG=13a1kite7/*http://www.pcworld.com/businesscenter/article/207018/mobile_malware_exploits_on_the_way_experts_say.html"&gt;hailing 2011 as the year smartphone malware goes mainstream&lt;/a&gt; but we should guard against such pronouncements. The more scared we are, the more likely we are to buy malware protection products. We can't trust the word of people who are trying to sell us something. &lt;br /&gt;&lt;/div&gt;&lt;h3&gt;&lt;a href="http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/dontfeartheandroidsecuritybogeyman;_ylt=Amlk36SxvOmYw6GPaEkqCUODzdAF;_ylu=X3oDMTNkZDhpNDk3BGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvZG9udGZlYXJ0aGVhbmRyb2lkc2VjdXJpdHlib2dleW1hbgRwb3MDNARzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNkb24zOXRmZWFydGg-" target="_blank"&gt; More Here&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;Courtesy:http://news.yahoo.com/s/pcworld/20110121/tc_pcworld/dontfeartheandroidsecuritybogeyman;_ylt=Amlk36SxvOmYw6GPaEkqCUODzdAF;_ylu=X3oDMTNkZDhpNDk3BGFzc2V0A3Bjd29ybGQvMjAxMTAxMjEvZG9udGZlYXJ0aGVhbmRyb2lkc2VjdXJpdHlib2dleW1hbgRwb3MDNARzZWMDeW5fcGFnaW5hdGVfc3VtbWFyeV9saXN0BHNsawNkb24zOXRmZWFydGg-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1451175741317449949-6105810094883142308?l=go4idm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://go4idm.blogspot.com/feeds/6105810094883142308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1451175741317449949&amp;postID=6105810094883142308' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6105810094883142308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1451175741317449949/posts/default/6105810094883142308'/><link rel='alternate' type='text/html' href='http://go4idm.blogspot.com/2011/01/dont-fear-android-security-bogeyman.html' title='Don&apos;t Fear the Android Security Bogeyman'/><author><name>VJ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1451175741317449949.post-3543854285752150093</id><published>2011-01-24T07:30:00.000-08:00</published><updated>2011-01-24T07:30:31.331-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android-powered Motorola Xoom tablet poised for Feb. 17 launch?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;The rumor mill was buzzing all weekend with word that Motorola's sleek, upcoming Android "Honeycomb"-powered tablet could arrive as early as next month, although the supposed price tag looks a little steep.&lt;br /&gt;Both &lt;a href="http://us.rd.yahoo.com/dailynews/yblog_technews/tc_yblog_technews/storytext/android-powered-motorola-xoom-poised-for-feb-17-launch/39817604/SIG=135u1ship/*http://droidattic.com/News/Motorola-Xoom-Priced-at-$700-and-Released-February-17th-at-Best-Buy.html"&gt;Droid Attic&lt;/a&gt; and &lt;a href="http://us.rd.yahoo.com/dailynews/yblog_technews/tc_yblog_technews/storytext/android-powered-motorola-xoom-poised-for-feb-17-launch/39817604/SIG=12nu16chc/*http://www.engadget.com/2011/01/22/motorola-xoom-launching-february-17th-at-best-buy/"&gt;Engadget&lt;/a&gt; managed to get their hands on screenshots of Best Buy's internal inventory database, which shows a 32GB version of the Xoom with a $699 sticker price.&lt;br /&gt;If that sounds high, at least it's better than the initial rumors Friday night, which had the Xoom going for a &lt;a href="http://us.rd.yahoo.com/dailynews/yblog_technews/tc_yblog_technews/storytext/android-powered-motorola-xoom-poised-for-feb-17-launch/39817604/SIG=137km3m6s/*http://www.androidcentral.com/minimum-advertised-prices-set-motorola-xoom-800-and-htc-thunderbolt-250"&gt;"minimum advertised price" of $799&lt;/a&gt; based on leaked Verizon Wireless documents.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://us.rd.yahoo.com/dailynews/yblog_technews/tc_yblog_technews/storytext/android-powered-motorola-xoom-poised-for-feb-17-launch/39817604/SIG=11evr9ako/*http://mit.zenfs.com/75/2011/01/DSC00266.jpg"&gt;&lt;img alt="" class="size-full wp-image-1591 aligncenter" height="434" src="http://mit.zenfs.com/75/2011/01/DSC00266.jpg" title="DSC00266" width="600" /&gt;&lt;/a&gt;&lt;/div&gt;Oh, and don't forget that the &lt;a class="kLink" href="http://news.yahoo.com/s/yblog_technews/20110124/tc_yblog_technews/android-powered-motorola-xoom-poised-for-feb-17-launch#" id="KonaLink4" target="undefined"&gt;&lt;span style="color: #366388; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;3G&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;-enabled 32GB iPad &lt;a href="http://us.rd.yahoo.com/dailynews/yblog_technews/tc_yblog_technews/storytext/android-powered-motorola-xoom-poised-for-feb-17-launch/39817604/SIG=11tb7ailj/*http://store.apple.com/us/browse/home/shop_ipad/family/ipad"&gt;currently sells for $729&lt;/a&gt;—not exactly cheap, either.&lt;br /&gt;Also revealed over the weekend: internal Best Buy employee training documents that list the &lt;a href="http://us.rd.yahoo.com/dailynews/yblog_technews/tc_yblog_technews/storytext/android-powered-motorola-xoom-poised-for-feb-17-launch/39817604/SIG=135u1ship/*http://droidattic.com/News/Motorola-Xoom-Priced-at-$700-and-Released-February-17th-at-Best-Buy.html"&gt;official launch date for the Xoom as February 17&lt;/a&gt;, less than a month away.&lt;br /&gt;&lt;a href="http://us.rd.yahoo.com/dailynews/news/yblog_technews/tc_yblog_technews/storytext/android-powered-motorola-xoom-poised-for-feb-17-launch/39817604/*http://news.yahoo.com/s/yblog_technews/20110106/tc_yblog_technews/motorola-lg-announce-first-android-honeycomb-tablets"&gt;Unveiled earlier this month&lt;/a&gt; at the Consumer Electronics Show in Las Vegas, the &lt;a class="kLink" href="http://news.yahoo.com/s/yblog_technews/20110124/tc_yblog_technews/android-powered-motorola-xoom-poised-for-feb-17-launch#" id="KonaLink2" target="undefined"&gt;&lt;span style="color: #366388; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;Motorola &lt;/span&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;Xoom&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; is poised to be among the hottest of the coming wave of Android "Honeycomb"-powered tablets.&lt;br /&gt;Samsung's Galaxy Tab already made a big splash when it hit all of the Big Four U.S. carriers last fall. But the Tab is based on Android 2.2 "Froyo," a &lt;a class="kLink" href="http://news.yahoo.com/s/yblog_technews/20110124/tc_yblog_technews/android-powered-motorola-xoom-poised-for-feb-17-launch#" id="KonaLink3" target="undefined"&gt;&lt;span style="color: #366388; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;version &lt;/span&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;of &lt;/span&gt;&lt;span class="kLink" style="color: rgb(54,99,136)! important; font-family: arial,helvetica,clean,sans-serif; font-size: 13px; font-weight: 400; position: static;"&gt;Android&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; that Google execs say &lt;a href="http://us.rd.yahoo.com/dailynews/news/yblog_technews/tc_yblog_technews/storytext/android-powered-motorola-xoom-poised-for-feb-17-launch/39817604/*http://news.yahoo.com/s/ytech_gadg/20100910/tc_ytech_gadg/ytech_gadg_tc3593"&gt;wasn't designed with tablets in mind&lt;/a&gt;.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Android "Honeycomb," however, is squarely aimed at tablets, with Android director Andy Rubin demonstrating the new Android OS late last year—&lt;a href="http://us.rd.yahoo.com/dailynews/news/yblog_technews/t
