SlideShare une entreprise Scribd logo
1  sur  40
Antonio.maio@titus.com
www.trustsharepoint.com
Sponsors
Enterprise




Standard
Antonio.maio@titus.com
www.trustsharepoint.com
Options for Retrieving/Managing
 Claims
                                                                                                 Claim Rule
                                 Format: SAML/WS-Fed          4. Authenticates
                                                               user & creates
                                                                                                 Claim Rule
                                      Token with                   token
                                                                                                  …
                                        Claims                                                       3. Get info
                                                                                                   (claims) about
                                                                                                        user
              5. User is
         authenticated and
        SharePoint 2010 now
                                                                                              iAttributeStore       …
          has user’s claims                                                  Secure Token Server                    Database or
                                                   2. Requests                      (STS)                            Directory
                                                   authentication &              EX. Active Directory           Ex. Active Directory

SharePoint                                         token                         Federation Services
                                                                                  (ADFS version 2.0)
  2010                Custom Claim Provider
                      Custom Claim Provider                       Trusted Identity Provider
                        …

                     1. User login
                  (with username &                         Client System
                      password)                           Ex. web browser
                                                                                                        SQL DB,
                                                                                                        LDAP, PKI
                                                                                                          etc…
Focus: Custom Claim Providers




SharePoint
  2010           Custom Claim Provider
                 Custom Claim Provider
                   …
                                                           Active Directory
                1. User login
             (with username &             Client System
                 password)               Ex. web browser
Microsoft.SharePoint
Microsoft.IdentityModel
Browse to find it in Program FilesReference AssembliesMicrosoftWindows Identity
Foundationv3.5Microsoft.IdentityModel.dll



using   System;
using   System.Xml;
using   System.IO;
using   System.ServiceModel.Channels;
using   System.Collections.Generic;
using   System.Linq;
using   System.Text;
using   Microsoft.SharePoint;
using   Microsoft.SharePoint.Administration;
using   Microsoft.SharePoint.Administration.Claims;
using   Microsoft.SharePoint.WebControls;



namespace SampleClaimProvider
{
      public class ClearanceClaimProvider : SPClaimProvider
      {
         public ClearanceClaimProvider (string displayName)
           : base(displayName)
              {
         }
      }
}
4.   Implement the Abstract class

     Methods:                    public class ClearanceClaimProvider:SPClaimProvider
     FillClaimTypes              {
                                 }
     FillClaimValueTypes
     FillClaimsForEntity         Right click on SPClaimProvider and select…
     FillEntityTypes
     FillHierarchy
     FillResolve(2 overrides)
     FillSchema
     FillSearch


     Properties:
     Name
     SupportsEntityInformation
     SupportsHierarchy
     SupportsResolve
     SupportsSearch
Returns the
public override string Name                      Claim Provider
   {get { return ProviderInternalName; }}        unique name

public override bool SupportsEntityInformation   Must return True
   {get { return true; }}                        for Claims
                                                 Augmentation
public override bool SupportsHierarchy           Supports hierarchy
   {get { return true; }}                        display in people
                                                 picker
public override bool SupportsResolve
   {get { return true; }}
                                                 Supports resolving
                                                 claim values
public override bool SupportsSearch
   {get { return true; }}                        Supports search
                                                 operation
internal static string ProviderDisplayName
{
   get { return “Security Clearance"; }
}



internal static string ProviderInternalName
{
   get { return “SecurityClearanceProvider"; }
}
private string[] SecurityLevels   new string[]
     { None     Confidential    Secret    Top Secret            };


private static string ClearanceClaimType
{
   get { return "http://schemas.sample.local/clearance"; }
}



private static string ClearanceClaimValueType
{
   get { return Microsoft.IdentityModel.Claims.ClaimValueTypes.String;}
}


• Adding a claim with type URL http://schemas.sample.local/clearance
  and the claim’s value is a string
FillClaimTypes
    FillClaimValueTypes
    FillClaimsForEntity

protected override void FillClaimTypes(List<string> claimTypes)
{
   if (claimTypes == null)
          throw new ArgumentNullException("claimTypes");
    claimTypes.Add(ClearanceClaimType);
}


protected override void FillClaimValueTypes(List<string>
   claimValueTypes)
{
   if (claimValueTypes == null
          throw new ArgumentNullException("claimValueTypes");
    claimValueTypes.Add(ClearanceClaimValueType);
}
FillClaimsForEntity

protected override void FillClaimsForEntity(Uri context, SPClaim entity,
    List<SPClaim> claims)
{
    if (entity == null)
            throw new ArgumentNullException("entity");
    if (claims == null)
            throw new ArgumentNullException("claims");
    if (String.IsNullOrEmpty(entity.Value))
            throw new ArgumentException("Argument null or empty",
            "entity.Value");

    //if existing Clearance claim is „top secret‟ then add lower levels
    clearances
    if (. . .)
    {
            claims.Add(CreateClaim(ClearanceClaimType, SecurityLevels[0],
            ClearanceClaimValueType));

            claims.Add(CreateClaim(ClearanceClaimType, SecurityLevels[1],
            ClearanceClaimValueType));

            claims.Add(CreateClaim(ClearanceClaimType, SecurityLevels[2],
            ClearanceClaimValueType));
    }
    . . .
}
Other Important Methods: Replacing the People Picker

FillEntityTypes
   Set of possible claims to display in the people picker

FillHierarchy
   Hierarchy for displaying claims in the people picker

FillResolve(2 overrides)
   Resolving claims specified in the people picker


FillSchema
   Specifies the schema that is used by people picker to
   display claims/entity data

FillSearch
    Fills in search results in people picker window
FillEntityTypes
FillHierarchy
FillResolve(2 overrides)
FillSchema
FillSearch
protected override void FillEntityTypes(List<string> entityTypes)
{

    //Return the type of entity claim we are using
    entityTypes.Add(SPClaimEntityTypes.FormsRole);
}
protected override void FillHierarchy(Uri context, string[] entityTypes,
     string hierarchyNodeID, int numberOfLevels, SPProviderHierarchyTree hierarchy)
{
      if (!EntityTypesContain(entityTypes, SPClaimEntityTypes.FormsRole))
           return;
      switch (hierarchyNodeID)
      {
         case null: // when it 1st loads, add all our nodes
            hierarchy.AddChild(new Microsoft.SharePoint.WebControls.SPProviderHierarchyNode
                             (SecurityClearance.ProviderInternalName,
                              “SecurityClearance”, “Security Clearance”, true));

            hierarchy.AddChild(new Microsoft.SharePoint.WebControls.SPProviderHierarchyNode
                              (SecurityClearance.ProviderInternalName,
                               “Caveat”, “Caveat”, true));

            break;

           default:
             break;
       }
  }
protected override void FillResolve(Uri context, string[] entityTypes,
                          SPClaim resolveInput, List<PickerEntity> resolved)
{
     if (!EntityTypesContain(entityTypes, SPClaimEntityTypes.FormsRole))
        return;

     Microsoft.SharePoint.WebControls.PickerEntity pe = GetPickerEntity
        (resolveInput.ClaimType, resolveInput.Value);

     resolved.Add(pe);
}
protected override void FillResolve(Uri context, string[] entityTypes,
                        string resolveInput, List<PickerEntity> resolved)
{
     if (!EntityTypesContain(entityTypes, SPClaimEntityTypes.FormsRole))
           return;

     //create a matching entity and add it to the return list of picker entries
     Microsoft.SharePoint.WebControls.PickerEntity pe = GetPickerEntity
           (ClearanceClaimType, resolveInput);

     resolved.Add(pe);

     pe = GetPickerEntity(CaveatClaimType, resolveInput);
     resolved.Add(pe);

}
private Microsoft.SharePoint.WebControls.PickerEntity GetPickerEntity
        (string ClaimType, string ClaimValue)
{
    Microsoft.SharePoint.WebControls.PickerEntity pe = CreatePickerEntity();

    // set the claim associated with this match & tooltip displayed
    pe.Claim = CreateClaim(ClaimType, ClaimValue, ClaimValueType);
    pe.Description = SecurityClearance.ProviderDisplayName + ":" + ClaimValue;

    // Set the text displayed in people picker
    pe.DisplayText = ClaimValue;

    // Store in hash table, plug in as a role type entity & flag as resolved
    pe.EntityData[Microsoft.SharePoint.WebControls.PeopleEditorEntityDataKeys.
       DisplayName] = ClaimValue;
    pe.EntityType = SPClaimEntityTypes.FormsRole;
    pe.IsResolved = true;

    pe.EntityGroupName = "Additional Claims";
       return pe;
}
protected override void FillSchema(SPProviderSchema schema)
{
     schema.AddSchemaElement(new Microsoft.SharePoint.WebControls.SPSchemaElement(
       Microsoft.SharePoint.WebControls.PeopleEditorEntityDataKeys.DisplayName,
       "Display Name", Microsoft.SharePoint.WebControls.SPSchemaElementType.Both));
}
protected override void FillSearch(Uri context, string[] entityTypes,
      string searchPattern, string hierarchyNodeID,int maxCount,
      SPProviderHierarchyTree searchTree)
{
    if (!EntityTypesContain(entityTypes, SPClaimEntityTypes.FormsRole))
           return;

       // The node where we will place our matches
       Microsoft.SharePoint.WebControls.SPProviderHierarchyNode matchNode = null;

       Microsoft.SharePoint.WebControls.PickerEntity pe = GetPickerEntity
            (ClearanceClaimType, searchPattern);

       if (!searchTree.HasChild(“SecurityClearance”))
       {    // create the node so that we can show our match in there too
            matchNode = new Microsoft.SharePoint.WebControls.SPProviderHierarchyNode
               (SecurityClearance.ProviderInternalName, “Security Clearance”,
                “SecurityClearance”, true);
            searchTree.AddChild(matchNode);
       }
       else
       {
            // get the node for this security level
            matchNode = searchTree.Children.Where(theNode => theNode.HierarchyNodeID
             == “SecurityClearance”).First();
       }

       // add the picker entity to our tree node
       matchNode.AddEntity(pe);
}
protected override void FillSearch(Uri context, string[] entityTypes,
      string searchPattern, string hierarchyNodeID,int maxCount,
      SPProviderHierarchyTree searchTree)
{
    if (!EntityTypesContain(entityTypes, SPClaimEntityTypes.FormsRole))
           return;

       // The node where we will place our matches
       Microsoft.SharePoint.WebControls.SPProviderHierarchyNode matchNode = null;

       Microsoft.SharePoint.WebControls.PickerEntity pe = GetPickerEntity
            (ClearanceClaimType, searchPattern);

       if (!searchTree.HasChild(“SecurityClearance”))
       {    // create the node so that we can show our match in there too
            matchNode = new Microsoft.SharePoint.WebControls.SPProviderHierarchyNode
               (SecurityClearance.ProviderInternalName, “Security Clearance”,
                “SecurityClearance”, true);
            searchTree.AddChild(matchNode);
       }
       else
       {
            // get the node for this security level
            matchNode = searchTree.Children.Where(theNode => theNode.HierarchyNodeID
             == “SecurityClearance”).First();
       }

       // add the picker entity to our tree node
       matchNode.AddEntity(pe);
}
protected override void FillClaimsForEntity(Uri context, SPClaim entity, List<SPClaim> claims)
{
    . . .

    DateTime now = DateTime.Now;
    if((now.DayOfWeek == DayOfWeek.Saturday)||(now.DayOfWeek == DayOfWeek.Sunday))
    {
        claims.Add(CreateClaim(WorkDayClaimType,”false”, WorkDayClaimValueType));
        return;
    }

    DateTime start = new DateTime(now.Year, now.Month, now.Day, 9, 0, 0)); //9 o'clock AM
    DateTime end = new DateTime(now.Year, now.Month, now.Day, 17, 0, 0)); //5 o'clock PM

    if ((now < start) || (now > end))
    {
        claims.Add(CreateClaim(WorkDayClaimType,”false”, WorkDayClaimValueType));
        return;
    }

    claims.Add(CreateClaim(WorkDayClaimType, ”true”, WorkDayClaimValueType));
}
http://intranet/_vti_bin/listdata.svc
Deployed as a Farm Level Feature Receiver – requires more code
   Must inherit from SPClaimProviderFeatureReceiver (lots of examples)

Can deploy multiple claim providers
   Called in order of deployment

Once deployed - Available in every web app, in very zone
   Can cause performance issues
   When user logs in, all Custom Claim Providers deployed get called

   Set IsUsedByDefault property in Feature Receiver Def'n to False;
   then turn it on manually for required web apps
Reach out to SQL database, LDAP, Repository for attributes
which will get added as claims
Custom Claim Provider running in the context of the web
application, and not the site the user is logging into
   Logged in as the Central Admin Service Account
   Do not have context
   (Most methods have no HTTP Context nor SPContext.Current)

   Cannot directly access data on the Site you signed into


For Debugging use a Claims Testing Web Part in SharePoint:
   http://blogs.technet.com/b/speschka/archive/2010/02/13/figuring-out-
   what-claims-you-have-in-sharepoint-2010.aspx
Sponsors
Enterprise




Standard
REGISTER NOW!
                               www.sharepointconference.com



Join us in Las
Vegas for
SharePoint
                        Don’t miss this         Engage with
                                                the
Conference              opportunity to          community
2012!
                        join us in Las
Give yourself a         Vegas at the
competitive edge        Mandalay Bay                Share
                                                   insights
and get the inside
scoop about
                        November 12-15
'SharePoint 15' while                           Learn about
learning how to                                 what’s coming
                                                next, from the
better use                                      people who
                                                built the
SharePoint 2010                                 product

Contenu connexe

Tendances

Authentication through Claims-Based Authentication
Authentication through Claims-Based AuthenticationAuthentication through Claims-Based Authentication
Authentication through Claims-Based Authenticationijtsrd
 
Claim based authentaication
Claim based authentaicationClaim based authentaication
Claim based authentaicationSean Xiong
 
T28 implementing adfs and hybrid share point
T28   implementing adfs and hybrid share point T28   implementing adfs and hybrid share point
T28 implementing adfs and hybrid share point Thorbjørn Værp
 
Claims-Based Identity, Facebook, and the Cloud
Claims-Based Identity, Facebook, and the CloudClaims-Based Identity, Facebook, and the Cloud
Claims-Based Identity, Facebook, and the CloudDanny Jessee
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudDanny Jessee
 
Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011Joris Poelmans
 
Stateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTStateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTMobiliya
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudDanny Jessee
 
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1Vinu Gunasekaran
 
Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Danny Jessee
 
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...Brian Culver
 
Azure AD B2C Webinar Series: Custom Policies Part 2 Policy Walkthrough
Azure AD B2C Webinar Series: Custom Policies Part 2 Policy WalkthroughAzure AD B2C Webinar Series: Custom Policies Part 2 Policy Walkthrough
Azure AD B2C Webinar Series: Custom Policies Part 2 Policy WalkthroughVinu Gunasekaran
 
MongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
MongoDB.local Sydney: Evolving your Data Access with MongoDB StitchMongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
MongoDB.local Sydney: Evolving your Data Access with MongoDB StitchMongoDB
 
Unlock your Big Data with Analytics and BI on Office 365 - OFF103
Unlock your Big Data with Analytics and BI on Office 365 - OFF103Unlock your Big Data with Analytics and BI on Office 365 - OFF103
Unlock your Big Data with Analytics and BI on Office 365 - OFF103Brian Culver
 
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...Brian Culver
 
Leveraging SharePoint for Extranets
Leveraging SharePoint for ExtranetsLeveraging SharePoint for Extranets
Leveraging SharePoint for ExtranetsAvtex
 
Cloud Native Journey in Synchrony Financial
Cloud Native Journey in Synchrony FinancialCloud Native Journey in Synchrony Financial
Cloud Native Journey in Synchrony FinancialVMware Tanzu
 
The Who, What, Why and How of Active Directory Federation Services (AD FS)
The Who, What, Why and How of Active Directory Federation Services (AD FS)The Who, What, Why and How of Active Directory Federation Services (AD FS)
The Who, What, Why and How of Active Directory Federation Services (AD FS)Jay Simcox
 

Tendances (20)

Authentication through Claims-Based Authentication
Authentication through Claims-Based AuthenticationAuthentication through Claims-Based Authentication
Authentication through Claims-Based Authentication
 
Claim based authentaication
Claim based authentaicationClaim based authentaication
Claim based authentaication
 
T28 implementing adfs and hybrid share point
T28   implementing adfs and hybrid share point T28   implementing adfs and hybrid share point
T28 implementing adfs and hybrid share point
 
Claims-Based Identity, Facebook, and the Cloud
Claims-Based Identity, Facebook, and the CloudClaims-Based Identity, Facebook, and the Cloud
Claims-Based Identity, Facebook, and the Cloud
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
 
Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011Claim Based Authentication in SharePoint 2010 for Community Day 2011
Claim Based Authentication in SharePoint 2010 for Community Day 2011
 
Stateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWTStateless Auth using OAUTH2 & JWT
Stateless Auth using OAUTH2 & JWT
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudSharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
 
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1
Azure AD B2C Webinar Series: Identity Protocols OIDC and OAuth2 part 1
 
Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010Claims-Based Identity in SharePoint 2010
Claims-Based Identity in SharePoint 2010
 
AD FS Workshop | Part 2 | Deep Dive
AD FS Workshop | Part 2 | Deep DiveAD FS Workshop | Part 2 | Deep Dive
AD FS Workshop | Part 2 | Deep Dive
 
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...
SharePoint 2010 Extranets and Authentication: How will SharePoint 2010 connec...
 
Azure AD B2C Webinar Series: Custom Policies Part 2 Policy Walkthrough
Azure AD B2C Webinar Series: Custom Policies Part 2 Policy WalkthroughAzure AD B2C Webinar Series: Custom Policies Part 2 Policy Walkthrough
Azure AD B2C Webinar Series: Custom Policies Part 2 Policy Walkthrough
 
MongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
MongoDB.local Sydney: Evolving your Data Access with MongoDB StitchMongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
MongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
 
Unlock your Big Data with Analytics and BI on Office 365 - OFF103
Unlock your Big Data with Analytics and BI on Office 365 - OFF103Unlock your Big Data with Analytics and BI on Office 365 - OFF103
Unlock your Big Data with Analytics and BI on Office 365 - OFF103
 
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
 
Leveraging SharePoint for Extranets
Leveraging SharePoint for ExtranetsLeveraging SharePoint for Extranets
Leveraging SharePoint for Extranets
 
Cloud Native Journey in Synchrony Financial
Cloud Native Journey in Synchrony FinancialCloud Native Journey in Synchrony Financial
Cloud Native Journey in Synchrony Financial
 
The Who, What, Why and How of Active Directory Federation Services (AD FS)
The Who, What, Why and How of Active Directory Federation Services (AD FS)The Who, What, Why and How of Active Directory Federation Services (AD FS)
The Who, What, Why and How of Active Directory Federation Services (AD FS)
 
Presentation
PresentationPresentation
Presentation
 

En vedette

Kurds in Rojava- Syrian kurdistan
Kurds in Rojava- Syrian kurdistanKurds in Rojava- Syrian kurdistan
Kurds in Rojava- Syrian kurdistanDr Janroj Keles
 
'Between the Sheets' - The NAKED TRUTH about sex...
'Between the Sheets'  - The NAKED TRUTH about sex...'Between the Sheets'  - The NAKED TRUTH about sex...
'Between the Sheets' - The NAKED TRUTH about sex...onechurch
 
Alueiden muuttovetovoima 2009 2013
Alueiden muuttovetovoima 2009 2013Alueiden muuttovetovoima 2009 2013
Alueiden muuttovetovoima 2009 2013TimoAro
 
Predictive profile example.
Predictive profile example.Predictive profile example.
Predictive profile example.Kate Alama
 
Myyttejä ja faktoja Porista!
Myyttejä ja faktoja Porista!Myyttejä ja faktoja Porista!
Myyttejä ja faktoja Porista!TimoAro
 
Keeping SharePoint Always On
Keeping SharePoint Always OnKeeping SharePoint Always On
Keeping SharePoint Always OnAntonioMaio2
 
02 aug 12 3rd bde weekly update (2)
02 aug 12 3rd bde weekly update (2)02 aug 12 3rd bde weekly update (2)
02 aug 12 3rd bde weekly update (2)Laura Anderson
 
New microsoft office power point presentation annerose
New microsoft office power point presentation anneroseNew microsoft office power point presentation annerose
New microsoft office power point presentation anneroseAnne Rose de Asis
 
Simple present tense iwona
Simple present tense iwonaSimple present tense iwona
Simple present tense iwonaIwonakorch
 
Selenium私房菜(新手入门教程)
Selenium私房菜(新手入门教程)Selenium私房菜(新手入门教程)
Selenium私房菜(新手入门教程)bwgang
 
Information Technology and Firm Profitability - Team Topaz
 Information Technology and Firm Profitability - Team Topaz Information Technology and Firm Profitability - Team Topaz
Information Technology and Firm Profitability - Team TopazTim Enalls
 
Apostila de fotografia básica professor fernando feijó - curso basico-fotogr...
Apostila de fotografia básica  professor fernando feijó - curso basico-fotogr...Apostila de fotografia básica  professor fernando feijó - curso basico-fotogr...
Apostila de fotografia básica professor fernando feijó - curso basico-fotogr...Albano Ocaranguejodigital
 
Kuopion alueen menestys 2000 luvulla
Kuopion alueen menestys 2000 luvullaKuopion alueen menestys 2000 luvulla
Kuopion alueen menestys 2000 luvullaTimoAro
 
Joshua Potter Design Portfolio
Joshua Potter Design PortfolioJoshua Potter Design Portfolio
Joshua Potter Design PortfolioJoshua Potter
 
Materials and resources parents
Materials and resources parentsMaterials and resources parents
Materials and resources parentsAmber Burkholder
 

En vedette (17)

My thoughts
My thoughtsMy thoughts
My thoughts
 
Kurds in Rojava- Syrian kurdistan
Kurds in Rojava- Syrian kurdistanKurds in Rojava- Syrian kurdistan
Kurds in Rojava- Syrian kurdistan
 
'Between the Sheets' - The NAKED TRUTH about sex...
'Between the Sheets'  - The NAKED TRUTH about sex...'Between the Sheets'  - The NAKED TRUTH about sex...
'Between the Sheets' - The NAKED TRUTH about sex...
 
ANIMALES DE LA GRANJA
ANIMALES DE LA GRANJAANIMALES DE LA GRANJA
ANIMALES DE LA GRANJA
 
Alueiden muuttovetovoima 2009 2013
Alueiden muuttovetovoima 2009 2013Alueiden muuttovetovoima 2009 2013
Alueiden muuttovetovoima 2009 2013
 
Predictive profile example.
Predictive profile example.Predictive profile example.
Predictive profile example.
 
Myyttejä ja faktoja Porista!
Myyttejä ja faktoja Porista!Myyttejä ja faktoja Porista!
Myyttejä ja faktoja Porista!
 
Keeping SharePoint Always On
Keeping SharePoint Always OnKeeping SharePoint Always On
Keeping SharePoint Always On
 
02 aug 12 3rd bde weekly update (2)
02 aug 12 3rd bde weekly update (2)02 aug 12 3rd bde weekly update (2)
02 aug 12 3rd bde weekly update (2)
 
New microsoft office power point presentation annerose
New microsoft office power point presentation anneroseNew microsoft office power point presentation annerose
New microsoft office power point presentation annerose
 
Simple present tense iwona
Simple present tense iwonaSimple present tense iwona
Simple present tense iwona
 
Selenium私房菜(新手入门教程)
Selenium私房菜(新手入门教程)Selenium私房菜(新手入门教程)
Selenium私房菜(新手入门教程)
 
Information Technology and Firm Profitability - Team Topaz
 Information Technology and Firm Profitability - Team Topaz Information Technology and Firm Profitability - Team Topaz
Information Technology and Firm Profitability - Team Topaz
 
Apostila de fotografia básica professor fernando feijó - curso basico-fotogr...
Apostila de fotografia básica  professor fernando feijó - curso basico-fotogr...Apostila de fotografia básica  professor fernando feijó - curso basico-fotogr...
Apostila de fotografia básica professor fernando feijó - curso basico-fotogr...
 
Kuopion alueen menestys 2000 luvulla
Kuopion alueen menestys 2000 luvullaKuopion alueen menestys 2000 luvulla
Kuopion alueen menestys 2000 luvulla
 
Joshua Potter Design Portfolio
Joshua Potter Design PortfolioJoshua Potter Design Portfolio
Joshua Potter Design Portfolio
 
Materials and resources parents
Materials and resources parentsMaterials and resources parents
Materials and resources parents
 

Similaire à SharePoint Saturday Toronto July 2012 - Antonio Maio

Share point security 101 sps-ottawa 2012 - antonio maio
Share point security 101   sps-ottawa 2012 - antonio maioShare point security 101   sps-ottawa 2012 - antonio maio
Share point security 101 sps-ottawa 2012 - antonio maioAntonioMaio2
 
Validate your entities with symfony validator and entity validation api
Validate your entities with symfony validator and entity validation apiValidate your entities with symfony validator and entity validation api
Validate your entities with symfony validator and entity validation apiRaffaele Chiocca
 
Azure Active Directory by Nikolay Mozgovoy
Azure Active Directory by Nikolay MozgovoyAzure Active Directory by Nikolay Mozgovoy
Azure Active Directory by Nikolay MozgovoySigma Software
 
AuthN deep.dive—ASP.NET Authentication Internals.pdf
AuthN deep.dive—ASP.NET Authentication Internals.pdfAuthN deep.dive—ASP.NET Authentication Internals.pdf
AuthN deep.dive—ASP.NET Authentication Internals.pdfondrejl1
 
Introduction to PicketLink
Introduction to PicketLinkIntroduction to PicketLink
Introduction to PicketLinkJBUG London
 
Local data storage for mobile apps
Local data storage for mobile appsLocal data storage for mobile apps
Local data storage for mobile appsIvano Malavolta
 
DD109 Claims Based AuthN in SharePoint 2010
DD109 Claims Based AuthN in SharePoint 2010DD109 Claims Based AuthN in SharePoint 2010
DD109 Claims Based AuthN in SharePoint 2010Spencer Harbar
 
Introduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIIntroduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIRob Windsor
 
Claims Based Identity In Share Point 2010
Claims  Based  Identity In  Share Point 2010Claims  Based  Identity In  Share Point 2010
Claims Based Identity In Share Point 2010Steve Sofian
 
How To Manage API Request with AXIOS on a React Native App
How To Manage API Request with AXIOS on a React Native AppHow To Manage API Request with AXIOS on a React Native App
How To Manage API Request with AXIOS on a React Native AppAndolasoft Inc
 
Spring and Cloud Foundry; a Marriage Made in Heaven
Spring and Cloud Foundry; a Marriage Made in HeavenSpring and Cloud Foundry; a Marriage Made in Heaven
Spring and Cloud Foundry; a Marriage Made in HeavenJoshua Long
 
Introducing AWS AppSync: serverless data driven apps with real-time and offli...
Introducing AWS AppSync: serverless data driven apps with real-time and offli...Introducing AWS AppSync: serverless data driven apps with real-time and offli...
Introducing AWS AppSync: serverless data driven apps with real-time and offli...Amazon Web Services
 
Ppt on web development and this has all details
Ppt on web development and this has all detailsPpt on web development and this has all details
Ppt on web development and this has all detailsgogijoshiajmer
 
Security enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakSecurity enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakCharles Moulliard
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010,Claims-Based Identity, Facebook, and the CloudSharePoint 2010,Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the CloudDanny Jessee
 
Developing your first application using FI-WARE
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WAREFermin Galan
 

Similaire à SharePoint Saturday Toronto July 2012 - Antonio Maio (20)

Share point security 101 sps-ottawa 2012 - antonio maio
Share point security 101   sps-ottawa 2012 - antonio maioShare point security 101   sps-ottawa 2012 - antonio maio
Share point security 101 sps-ottawa 2012 - antonio maio
 
Validate your entities with symfony validator and entity validation api
Validate your entities with symfony validator and entity validation apiValidate your entities with symfony validator and entity validation api
Validate your entities with symfony validator and entity validation api
 
ERRest
ERRestERRest
ERRest
 
Azure Active Directory by Nikolay Mozgovoy
Azure Active Directory by Nikolay MozgovoyAzure Active Directory by Nikolay Mozgovoy
Azure Active Directory by Nikolay Mozgovoy
 
AuthN deep.dive—ASP.NET Authentication Internals.pdf
AuthN deep.dive—ASP.NET Authentication Internals.pdfAuthN deep.dive—ASP.NET Authentication Internals.pdf
AuthN deep.dive—ASP.NET Authentication Internals.pdf
 
Introduction to PicketLink
Introduction to PicketLinkIntroduction to PicketLink
Introduction to PicketLink
 
S313431 JPA 2.0 Overview
S313431 JPA 2.0 OverviewS313431 JPA 2.0 Overview
S313431 JPA 2.0 Overview
 
Local data storage for mobile apps
Local data storage for mobile appsLocal data storage for mobile apps
Local data storage for mobile apps
 
DD109 Claims Based AuthN in SharePoint 2010
DD109 Claims Based AuthN in SharePoint 2010DD109 Claims Based AuthN in SharePoint 2010
DD109 Claims Based AuthN in SharePoint 2010
 
Introduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIIntroduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST API
 
Claims Based Identity In Share Point 2010
Claims  Based  Identity In  Share Point 2010Claims  Based  Identity In  Share Point 2010
Claims Based Identity In Share Point 2010
 
How To Manage API Request with AXIOS on a React Native App
How To Manage API Request with AXIOS on a React Native AppHow To Manage API Request with AXIOS on a React Native App
How To Manage API Request with AXIOS on a React Native App
 
Spring and Cloud Foundry; a Marriage Made in Heaven
Spring and Cloud Foundry; a Marriage Made in HeavenSpring and Cloud Foundry; a Marriage Made in Heaven
Spring and Cloud Foundry; a Marriage Made in Heaven
 
Introducing AWS AppSync: serverless data driven apps with real-time and offli...
Introducing AWS AppSync: serverless data driven apps with real-time and offli...Introducing AWS AppSync: serverless data driven apps with real-time and offli...
Introducing AWS AppSync: serverless data driven apps with real-time and offli...
 
Ppt on web development and this has all details
Ppt on web development and this has all detailsPpt on web development and this has all details
Ppt on web development and this has all details
 
Security enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakSecurity enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & Keycloak
 
Rolebased security
Rolebased securityRolebased security
Rolebased security
 
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010,Claims-Based Identity, Facebook, and the CloudSharePoint 2010,Claims-Based Identity, Facebook, and the Cloud
SharePoint 2010, Claims-Based Identity, Facebook, and the Cloud
 
Jpa
JpaJpa
Jpa
 
Developing your first application using FI-WARE
Developing your first application using FI-WAREDeveloping your first application using FI-WARE
Developing your first application using FI-WARE
 

Plus de AntonioMaio2

Introduction to Microsoft Enterprise Mobility + Security
Introduction to Microsoft Enterprise Mobility + SecurityIntroduction to Microsoft Enterprise Mobility + Security
Introduction to Microsoft Enterprise Mobility + SecurityAntonioMaio2
 
Learn how to protect against and recover from data breaches in Office 365
Learn how to protect against and recover from data breaches in Office 365Learn how to protect against and recover from data breaches in Office 365
Learn how to protect against and recover from data breaches in Office 365AntonioMaio2
 
A beginners guide to administering office 365 with power shell antonio maio
A beginners guide to administering office 365 with power shell   antonio maioA beginners guide to administering office 365 with power shell   antonio maio
A beginners guide to administering office 365 with power shell antonio maioAntonioMaio2
 
Office 365 Security - MacGyver, Ninja or Swat team
Office 365 Security -  MacGyver, Ninja or Swat teamOffice 365 Security -  MacGyver, Ninja or Swat team
Office 365 Security - MacGyver, Ninja or Swat teamAntonioMaio2
 
Information security in office 365 a shared responsibility - antonio maio
Information security in office 365   a shared responsibility - antonio maioInformation security in office 365   a shared responsibility - antonio maio
Information security in office 365 a shared responsibility - antonio maioAntonioMaio2
 
SharePoint Saturday Ottawa - How secure is my data in office 365?
SharePoint Saturday Ottawa - How secure is my data in office 365?SharePoint Saturday Ottawa - How secure is my data in office 365?
SharePoint Saturday Ottawa - How secure is my data in office 365?AntonioMaio2
 
Office 365 security new innovations from microsoft ignite - antonio maio
Office 365 security   new innovations from microsoft ignite - antonio maioOffice 365 security   new innovations from microsoft ignite - antonio maio
Office 365 security new innovations from microsoft ignite - antonio maioAntonioMaio2
 
Real world SharePoint information governance a case study - published
Real world SharePoint information governance a case study - publishedReal world SharePoint information governance a case study - published
Real world SharePoint information governance a case study - publishedAntonioMaio2
 
Overcoming Security Threats and Vulnerabilities in SharePoint
Overcoming Security Threats and Vulnerabilities in SharePointOvercoming Security Threats and Vulnerabilities in SharePoint
Overcoming Security Threats and Vulnerabilities in SharePointAntonioMaio2
 
What’s new in SharePoint 2016!
What’s new in SharePoint 2016!What’s new in SharePoint 2016!
What’s new in SharePoint 2016!AntonioMaio2
 
Data Visualization in SharePoint and Office 365
Data Visualization in SharePoint and Office 365Data Visualization in SharePoint and Office 365
Data Visualization in SharePoint and Office 365AntonioMaio2
 
Hybrid Identity Management with SharePoint and Office 365 - Antonio Maio
Hybrid Identity Management with SharePoint and Office 365 - Antonio MaioHybrid Identity Management with SharePoint and Office 365 - Antonio Maio
Hybrid Identity Management with SharePoint and Office 365 - Antonio MaioAntonioMaio2
 
Identity management challenges when moving share point to the cloud antonio...
Identity management challenges when moving share point to the cloud   antonio...Identity management challenges when moving share point to the cloud   antonio...
Identity management challenges when moving share point to the cloud antonio...AntonioMaio2
 
A Practical Guide Information Governance with Microsoft SharePoint 2013
A Practical Guide Information Governance with Microsoft SharePoint 2013A Practical Guide Information Governance with Microsoft SharePoint 2013
A Practical Guide Information Governance with Microsoft SharePoint 2013AntonioMaio2
 
Best practices for security and governance in share point 2013 published
Best practices for security and governance in share point 2013   publishedBest practices for security and governance in share point 2013   published
Best practices for security and governance in share point 2013 publishedAntonioMaio2
 
Best practices for Security and Governance in SharePoint 2013
Best practices for Security and Governance in SharePoint 2013Best practices for Security and Governance in SharePoint 2013
Best practices for Security and Governance in SharePoint 2013AntonioMaio2
 
SPTechCon Boston 2013 - Introduction to Security in Microsoft Sharepoint 2013...
SPTechCon Boston 2013 - Introduction to Security in Microsoft Sharepoint 2013...SPTechCon Boston 2013 - Introduction to Security in Microsoft Sharepoint 2013...
SPTechCon Boston 2013 - Introduction to Security in Microsoft Sharepoint 2013...AntonioMaio2
 
Best Practices for Security in Microsoft SharePoint 2013
Best Practices for Security in Microsoft SharePoint 2013Best Practices for Security in Microsoft SharePoint 2013
Best Practices for Security in Microsoft SharePoint 2013AntonioMaio2
 
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013AntonioMaio2
 
SharePoint Governance: Impacts of Moving to the Cloud
SharePoint Governance: Impacts of Moving to the CloudSharePoint Governance: Impacts of Moving to the Cloud
SharePoint Governance: Impacts of Moving to the CloudAntonioMaio2
 

Plus de AntonioMaio2 (20)

Introduction to Microsoft Enterprise Mobility + Security
Introduction to Microsoft Enterprise Mobility + SecurityIntroduction to Microsoft Enterprise Mobility + Security
Introduction to Microsoft Enterprise Mobility + Security
 
Learn how to protect against and recover from data breaches in Office 365
Learn how to protect against and recover from data breaches in Office 365Learn how to protect against and recover from data breaches in Office 365
Learn how to protect against and recover from data breaches in Office 365
 
A beginners guide to administering office 365 with power shell antonio maio
A beginners guide to administering office 365 with power shell   antonio maioA beginners guide to administering office 365 with power shell   antonio maio
A beginners guide to administering office 365 with power shell antonio maio
 
Office 365 Security - MacGyver, Ninja or Swat team
Office 365 Security -  MacGyver, Ninja or Swat teamOffice 365 Security -  MacGyver, Ninja or Swat team
Office 365 Security - MacGyver, Ninja or Swat team
 
Information security in office 365 a shared responsibility - antonio maio
Information security in office 365   a shared responsibility - antonio maioInformation security in office 365   a shared responsibility - antonio maio
Information security in office 365 a shared responsibility - antonio maio
 
SharePoint Saturday Ottawa - How secure is my data in office 365?
SharePoint Saturday Ottawa - How secure is my data in office 365?SharePoint Saturday Ottawa - How secure is my data in office 365?
SharePoint Saturday Ottawa - How secure is my data in office 365?
 
Office 365 security new innovations from microsoft ignite - antonio maio
Office 365 security   new innovations from microsoft ignite - antonio maioOffice 365 security   new innovations from microsoft ignite - antonio maio
Office 365 security new innovations from microsoft ignite - antonio maio
 
Real world SharePoint information governance a case study - published
Real world SharePoint information governance a case study - publishedReal world SharePoint information governance a case study - published
Real world SharePoint information governance a case study - published
 
Overcoming Security Threats and Vulnerabilities in SharePoint
Overcoming Security Threats and Vulnerabilities in SharePointOvercoming Security Threats and Vulnerabilities in SharePoint
Overcoming Security Threats and Vulnerabilities in SharePoint
 
What’s new in SharePoint 2016!
What’s new in SharePoint 2016!What’s new in SharePoint 2016!
What’s new in SharePoint 2016!
 
Data Visualization in SharePoint and Office 365
Data Visualization in SharePoint and Office 365Data Visualization in SharePoint and Office 365
Data Visualization in SharePoint and Office 365
 
Hybrid Identity Management with SharePoint and Office 365 - Antonio Maio
Hybrid Identity Management with SharePoint and Office 365 - Antonio MaioHybrid Identity Management with SharePoint and Office 365 - Antonio Maio
Hybrid Identity Management with SharePoint and Office 365 - Antonio Maio
 
Identity management challenges when moving share point to the cloud antonio...
Identity management challenges when moving share point to the cloud   antonio...Identity management challenges when moving share point to the cloud   antonio...
Identity management challenges when moving share point to the cloud antonio...
 
A Practical Guide Information Governance with Microsoft SharePoint 2013
A Practical Guide Information Governance with Microsoft SharePoint 2013A Practical Guide Information Governance with Microsoft SharePoint 2013
A Practical Guide Information Governance with Microsoft SharePoint 2013
 
Best practices for security and governance in share point 2013 published
Best practices for security and governance in share point 2013   publishedBest practices for security and governance in share point 2013   published
Best practices for security and governance in share point 2013 published
 
Best practices for Security and Governance in SharePoint 2013
Best practices for Security and Governance in SharePoint 2013Best practices for Security and Governance in SharePoint 2013
Best practices for Security and Governance in SharePoint 2013
 
SPTechCon Boston 2013 - Introduction to Security in Microsoft Sharepoint 2013...
SPTechCon Boston 2013 - Introduction to Security in Microsoft Sharepoint 2013...SPTechCon Boston 2013 - Introduction to Security in Microsoft Sharepoint 2013...
SPTechCon Boston 2013 - Introduction to Security in Microsoft Sharepoint 2013...
 
Best Practices for Security in Microsoft SharePoint 2013
Best Practices for Security in Microsoft SharePoint 2013Best Practices for Security in Microsoft SharePoint 2013
Best Practices for Security in Microsoft SharePoint 2013
 
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013
 
SharePoint Governance: Impacts of Moving to the Cloud
SharePoint Governance: Impacts of Moving to the CloudSharePoint Governance: Impacts of Moving to the Cloud
SharePoint Governance: Impacts of Moving to the Cloud
 

Dernier

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Dernier (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

SharePoint Saturday Toronto July 2012 - Antonio Maio

  • 3.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Options for Retrieving/Managing Claims Claim Rule Format: SAML/WS-Fed 4. Authenticates user & creates Claim Rule Token with token … Claims 3. Get info (claims) about user 5. User is authenticated and SharePoint 2010 now iAttributeStore … has user’s claims Secure Token Server Database or 2. Requests (STS) Directory authentication & EX. Active Directory Ex. Active Directory SharePoint token Federation Services (ADFS version 2.0) 2010 Custom Claim Provider Custom Claim Provider Trusted Identity Provider … 1. User login (with username & Client System password) Ex. web browser SQL DB, LDAP, PKI etc…
  • 12. Focus: Custom Claim Providers SharePoint 2010 Custom Claim Provider Custom Claim Provider … Active Directory 1. User login (with username & Client System password) Ex. web browser
  • 13.
  • 14.
  • 15. Microsoft.SharePoint Microsoft.IdentityModel Browse to find it in Program FilesReference AssembliesMicrosoftWindows Identity Foundationv3.5Microsoft.IdentityModel.dll using System; using System.Xml; using System.IO; using System.ServiceModel.Channels; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.SharePoint; using Microsoft.SharePoint.Administration; using Microsoft.SharePoint.Administration.Claims; using Microsoft.SharePoint.WebControls; namespace SampleClaimProvider { public class ClearanceClaimProvider : SPClaimProvider { public ClearanceClaimProvider (string displayName) : base(displayName) { } } }
  • 16. 4. Implement the Abstract class Methods: public class ClearanceClaimProvider:SPClaimProvider FillClaimTypes { } FillClaimValueTypes FillClaimsForEntity Right click on SPClaimProvider and select… FillEntityTypes FillHierarchy FillResolve(2 overrides) FillSchema FillSearch Properties: Name SupportsEntityInformation SupportsHierarchy SupportsResolve SupportsSearch
  • 17. Returns the public override string Name Claim Provider {get { return ProviderInternalName; }} unique name public override bool SupportsEntityInformation Must return True {get { return true; }} for Claims Augmentation public override bool SupportsHierarchy Supports hierarchy {get { return true; }} display in people picker public override bool SupportsResolve {get { return true; }} Supports resolving claim values public override bool SupportsSearch {get { return true; }} Supports search operation
  • 18. internal static string ProviderDisplayName { get { return “Security Clearance"; } } internal static string ProviderInternalName { get { return “SecurityClearanceProvider"; } }
  • 19. private string[] SecurityLevels new string[] { None Confidential Secret Top Secret }; private static string ClearanceClaimType { get { return "http://schemas.sample.local/clearance"; } } private static string ClearanceClaimValueType { get { return Microsoft.IdentityModel.Claims.ClaimValueTypes.String;} } • Adding a claim with type URL http://schemas.sample.local/clearance and the claim’s value is a string
  • 20. FillClaimTypes FillClaimValueTypes FillClaimsForEntity protected override void FillClaimTypes(List<string> claimTypes) { if (claimTypes == null) throw new ArgumentNullException("claimTypes"); claimTypes.Add(ClearanceClaimType); } protected override void FillClaimValueTypes(List<string> claimValueTypes) { if (claimValueTypes == null throw new ArgumentNullException("claimValueTypes"); claimValueTypes.Add(ClearanceClaimValueType); }
  • 21. FillClaimsForEntity protected override void FillClaimsForEntity(Uri context, SPClaim entity, List<SPClaim> claims) { if (entity == null) throw new ArgumentNullException("entity"); if (claims == null) throw new ArgumentNullException("claims"); if (String.IsNullOrEmpty(entity.Value)) throw new ArgumentException("Argument null or empty", "entity.Value"); //if existing Clearance claim is „top secret‟ then add lower levels clearances if (. . .) { claims.Add(CreateClaim(ClearanceClaimType, SecurityLevels[0], ClearanceClaimValueType)); claims.Add(CreateClaim(ClearanceClaimType, SecurityLevels[1], ClearanceClaimValueType)); claims.Add(CreateClaim(ClearanceClaimType, SecurityLevels[2], ClearanceClaimValueType)); } . . . }
  • 22. Other Important Methods: Replacing the People Picker FillEntityTypes Set of possible claims to display in the people picker FillHierarchy Hierarchy for displaying claims in the people picker FillResolve(2 overrides) Resolving claims specified in the people picker FillSchema Specifies the schema that is used by people picker to display claims/entity data FillSearch Fills in search results in people picker window
  • 24. protected override void FillEntityTypes(List<string> entityTypes) { //Return the type of entity claim we are using entityTypes.Add(SPClaimEntityTypes.FormsRole); }
  • 25. protected override void FillHierarchy(Uri context, string[] entityTypes, string hierarchyNodeID, int numberOfLevels, SPProviderHierarchyTree hierarchy) { if (!EntityTypesContain(entityTypes, SPClaimEntityTypes.FormsRole)) return; switch (hierarchyNodeID) { case null: // when it 1st loads, add all our nodes hierarchy.AddChild(new Microsoft.SharePoint.WebControls.SPProviderHierarchyNode (SecurityClearance.ProviderInternalName, “SecurityClearance”, “Security Clearance”, true)); hierarchy.AddChild(new Microsoft.SharePoint.WebControls.SPProviderHierarchyNode (SecurityClearance.ProviderInternalName, “Caveat”, “Caveat”, true)); break; default: break; } }
  • 26. protected override void FillResolve(Uri context, string[] entityTypes, SPClaim resolveInput, List<PickerEntity> resolved) { if (!EntityTypesContain(entityTypes, SPClaimEntityTypes.FormsRole)) return; Microsoft.SharePoint.WebControls.PickerEntity pe = GetPickerEntity (resolveInput.ClaimType, resolveInput.Value); resolved.Add(pe); }
  • 27. protected override void FillResolve(Uri context, string[] entityTypes, string resolveInput, List<PickerEntity> resolved) { if (!EntityTypesContain(entityTypes, SPClaimEntityTypes.FormsRole)) return; //create a matching entity and add it to the return list of picker entries Microsoft.SharePoint.WebControls.PickerEntity pe = GetPickerEntity (ClearanceClaimType, resolveInput); resolved.Add(pe); pe = GetPickerEntity(CaveatClaimType, resolveInput); resolved.Add(pe); }
  • 28. private Microsoft.SharePoint.WebControls.PickerEntity GetPickerEntity (string ClaimType, string ClaimValue) { Microsoft.SharePoint.WebControls.PickerEntity pe = CreatePickerEntity(); // set the claim associated with this match & tooltip displayed pe.Claim = CreateClaim(ClaimType, ClaimValue, ClaimValueType); pe.Description = SecurityClearance.ProviderDisplayName + ":" + ClaimValue; // Set the text displayed in people picker pe.DisplayText = ClaimValue; // Store in hash table, plug in as a role type entity & flag as resolved pe.EntityData[Microsoft.SharePoint.WebControls.PeopleEditorEntityDataKeys. DisplayName] = ClaimValue; pe.EntityType = SPClaimEntityTypes.FormsRole; pe.IsResolved = true; pe.EntityGroupName = "Additional Claims"; return pe; }
  • 29. protected override void FillSchema(SPProviderSchema schema) { schema.AddSchemaElement(new Microsoft.SharePoint.WebControls.SPSchemaElement( Microsoft.SharePoint.WebControls.PeopleEditorEntityDataKeys.DisplayName, "Display Name", Microsoft.SharePoint.WebControls.SPSchemaElementType.Both)); }
  • 30. protected override void FillSearch(Uri context, string[] entityTypes, string searchPattern, string hierarchyNodeID,int maxCount, SPProviderHierarchyTree searchTree) { if (!EntityTypesContain(entityTypes, SPClaimEntityTypes.FormsRole)) return; // The node where we will place our matches Microsoft.SharePoint.WebControls.SPProviderHierarchyNode matchNode = null; Microsoft.SharePoint.WebControls.PickerEntity pe = GetPickerEntity (ClearanceClaimType, searchPattern); if (!searchTree.HasChild(“SecurityClearance”)) { // create the node so that we can show our match in there too matchNode = new Microsoft.SharePoint.WebControls.SPProviderHierarchyNode (SecurityClearance.ProviderInternalName, “Security Clearance”, “SecurityClearance”, true); searchTree.AddChild(matchNode); } else { // get the node for this security level matchNode = searchTree.Children.Where(theNode => theNode.HierarchyNodeID == “SecurityClearance”).First(); } // add the picker entity to our tree node matchNode.AddEntity(pe); }
  • 31. protected override void FillSearch(Uri context, string[] entityTypes, string searchPattern, string hierarchyNodeID,int maxCount, SPProviderHierarchyTree searchTree) { if (!EntityTypesContain(entityTypes, SPClaimEntityTypes.FormsRole)) return; // The node where we will place our matches Microsoft.SharePoint.WebControls.SPProviderHierarchyNode matchNode = null; Microsoft.SharePoint.WebControls.PickerEntity pe = GetPickerEntity (ClearanceClaimType, searchPattern); if (!searchTree.HasChild(“SecurityClearance”)) { // create the node so that we can show our match in there too matchNode = new Microsoft.SharePoint.WebControls.SPProviderHierarchyNode (SecurityClearance.ProviderInternalName, “Security Clearance”, “SecurityClearance”, true); searchTree.AddChild(matchNode); } else { // get the node for this security level matchNode = searchTree.Children.Where(theNode => theNode.HierarchyNodeID == “SecurityClearance”).First(); } // add the picker entity to our tree node matchNode.AddEntity(pe); }
  • 32.
  • 33. protected override void FillClaimsForEntity(Uri context, SPClaim entity, List<SPClaim> claims) { . . . DateTime now = DateTime.Now; if((now.DayOfWeek == DayOfWeek.Saturday)||(now.DayOfWeek == DayOfWeek.Sunday)) { claims.Add(CreateClaim(WorkDayClaimType,”false”, WorkDayClaimValueType)); return; } DateTime start = new DateTime(now.Year, now.Month, now.Day, 9, 0, 0)); //9 o'clock AM DateTime end = new DateTime(now.Year, now.Month, now.Day, 17, 0, 0)); //5 o'clock PM if ((now < start) || (now > end)) { claims.Add(CreateClaim(WorkDayClaimType,”false”, WorkDayClaimValueType)); return; } claims.Add(CreateClaim(WorkDayClaimType, ”true”, WorkDayClaimValueType)); }
  • 35.
  • 36.
  • 37. Deployed as a Farm Level Feature Receiver – requires more code Must inherit from SPClaimProviderFeatureReceiver (lots of examples) Can deploy multiple claim providers Called in order of deployment Once deployed - Available in every web app, in very zone Can cause performance issues When user logs in, all Custom Claim Providers deployed get called Set IsUsedByDefault property in Feature Receiver Def'n to False; then turn it on manually for required web apps
  • 38. Reach out to SQL database, LDAP, Repository for attributes which will get added as claims Custom Claim Provider running in the context of the web application, and not the site the user is logging into Logged in as the Central Admin Service Account Do not have context (Most methods have no HTTP Context nor SPContext.Current) Cannot directly access data on the Site you signed into For Debugging use a Claims Testing Web Part in SharePoint: http://blogs.technet.com/b/speschka/archive/2010/02/13/figuring-out- what-claims-you-have-in-sharepoint-2010.aspx
  • 40. REGISTER NOW! www.sharepointconference.com Join us in Las Vegas for SharePoint Don’t miss this Engage with the Conference opportunity to community 2012! join us in Las Give yourself a Vegas at the competitive edge Mandalay Bay Share insights and get the inside scoop about November 12-15 'SharePoint 15' while Learn about learning how to what’s coming next, from the better use people who built the SharePoint 2010 product

Notes de l'éditeur

  1. We’re adding a claim with a name of http://schemas.sample.local/clearance and the value in that claim is a string