Wednesday, 31 March 2021

SharePoint 2019 FBA Set up Full Name Error

Recently we have set up Form based authentication (FBA) in SharePoint 2019 environment. We have configured the FBA with best practice but when we try to login using windows user or FBA user,  we were getting error – “Fullname”. 

Issue:

We faced below error when we try to login using windows user or FBA user:

 


Solution:

We have checked multiple blogs in google and verified that the set up was done using best practice. So, our doubt goes to configuration in web application, and we found out that “Client Integration” settings is responsible for this.

To disable the “Client Integration” settings follow below steps:

  • Go to Central Admin.
  • Click “Manage web application” under “Application Management”


  • Select your web application.


  • Click on “Authentication provider” from Ribbon. 


  • It will show default Zone. Click on that. 


  • Scroll bottom of the authentication provider settings dialog.
  • Click “No” for “Client Integration” Settings. 


  • Click Save.
  • It will take some time and provide below dialog. Click close.

  • Now try to login in web application. You will see the user is able to login successfully.


Sunday, 28 February 2021

How to get the strong name of your assembly by adding an External Tool?

Introduction

Solution

This tip will make it easy for you to get that assembly name right within Visual Studio.

  • In Visual Studio, Go to Tools –>  External Tools.


  • Click on “Add” to add a tool, and put in the following values:
    • Title: Strong Name
    • Command: Powershell.exe
    • Arguments: -command "[System.Reflection.AssemblyName]::GetAssemblyName(\"$(TargetPath)\").FullName"
    • Check “Use Output Window”
    • Uncheck everything else – here’s how it should look -

  


  • Right Click on your solution and Clean Your Project solution.

 


  • Now, Right Click on your solution and build Your Project solution.

 


  • That’s it, now in your project, Visit Tools –> Strong Name, and in the output window, it will give you the assembly name like this –>

 ProjectName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e3d610b32dbba675  

 




Please let me know if you face any issues.

Friday, 15 January 2021

SharePoint Permission Matrix

We recently have a client request for SharePoint OOTB Permission Matrix. We thought it would be available easily. But to my surprise, we didn't. Although, Microsoft has put a full page on that but we can't give that to client. 

So I have prepared this matrix comparing things in Microsoft blog. You can find the blog link in reference:

    Permission level
Permission Permission Description View
Only
Limited
Access
Restricted
Read
Read Contribute Edit Approve Design Manage
Hierarchy
Full
Control
List Level
Manage List Create and delete lists, add or remove columns in a list, and add or remove public views of a list.           Yes   Yes Yes Yes
Overrise List Behavior Discard or check in a document that is checked out to another user, and change or override settings that allow users to read/edit only their own items             Yes Yes Yes Yes
Add Items Add items to lists, and add documents to document libraries         Yes Yes Yes Yes Yes Yes
Edit Items Edit items in lists, edit documents in document libraries, and customize Web Part pages in document libraries         Yes Yes Yes Yes Yes Yes
Delete Items Delete items from a list, and documents from a document library.         Yes Yes Yes Yes Yes Yes
View Items View items in lists, and documents in document libraries Yes   Yes Yes Yes Yes Yes Yes Yes Yes
Approve Items Approve a minor version of list items or document.             Yes Yes   Yes
Open Items View the source of documents with server-side file handlers     Yes Yes Yes Yes Yes Yes Yes Yes
View Versions View past versions of a list item or document. Yes     Yes Yes Yes Yes Yes Yes Yes
Delete Versions Delete past versions of list items or documents.         Yes Yes Yes Yes Yes Yes
Create Alerts Create alerts       Yes Yes Yes Yes Yes Yes Yes
View Application Pages View forms, views, and application pages. Enumerate lists Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
                       
Site Permission
Manage Permissions Create and change permission levels on the web site and assign permissions to users and groups                 Yes Yes
View Web Analytics Data View reports on Web site usage                 Yes Yes
Create Subsites Create subsites such as team sites, Meeting Workspace sites, and Document Workspace sites.                 Yes Yes
Manage Web Site Grants the ability to perform all administration tasks for the web site, as well as manage content                 Yes Yes
Add and Customize Pages Add, change, or delete HTML pages or Web Part pages, and edit the website.               Yes Yes Yes
Apply Themes and Borders Apply a theme or borders to the whole website.               Yes Yes Yes
Apply Style Sheets Apply a style sheet (.css file) to the website.               Yes Yes Yes
Create Groups Create a group of users that can be used anywhere within the site collection                   Yes
Browse Directories Enumerate files and folders in a website by using SharePoint Designer 2013 and Web DAV interfaces         Yes Yes Yes Yes Yes Yes
Use Self-Service Site Creation Create a website using Self-Service Site Creation. Yes     Yes Yes Yes Yes Yes Yes Yes
View Pages View pages in a website Yes   Yes Yes Yes Yes Yes Yes Yes Yes
Enumerate Permissions Enumerate permissions on the website, list, folder, document, or list item                 Yes Yes
Browse User Information View information about users of the website Yes Yes   Yes Yes Yes Yes Yes Yes Yes
Manage Alerts Manage alerts for all users of the website                 Yes Yes
Use Remote Interfaces Use SOAP, Web DAV, the Client Object Model, or SharePoint Designer 2013 interfaces to access the website Yes Yes   Yes Yes Yes Yes Yes Yes Yes
Use Client Integration Features Use features that launch client applications. Without this permission, users must work on documents locally and then upload their changes Yes Yes   Yes Yes Yes Yes Yes Yes Yes
Open Enables users to open a website, list, or folder to access items inside that container Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Edit Personal User Information Enables users to change their own user information, such as adding a picture.         Yes Yes Yes Yes Yes Yes
                       
Personal
Manage Personal Views Create, change, and delete personal views of lists.         Yes Yes Yes Yes Yes Yes
Add/Remove Personal Web Parts Add or remove personal Web Parts on a Web Part page.         Yes Yes Yes Yes Yes Yes
Update Personal Web Parts Update Web Parts to display personalized information         Yes Yes Yes Yes Yes Yes
                       
 

                     

Note: Restricted Read, Approve and Manage Heirarchy Permission are available for Publishing Site only.

Reference:

  • https://docs.microsoft.com/en-us/sharepoint/sites/user-permissions-and-permission-levels


Tuesday, 12 January 2021

Error occurred in deployment step 'Recycle IIS Application Pool': Invalid namespace SharePoint

Issue:

Recently, we were developing a custom webpart for SharePoint 2019 On-Premise. We got below error while deploying the solution:

Error occurred in deployment step 'Recycle IIS Application Pool': Invalid namespace



Analysis:

We have face this issue in past . We thought we are having issue in .Net framework of the project. We tried with reduce the .Net framework to 4.5. But that didn't solve the issue this time. Then we google the issue and found out there were some configuration changes we need to do in the development environment. 


Solution:

We found out that we need to add "IIS 6 WMI Compatibility" feature. Please follow below steps to add the same:


If you are using windows server, go to server manager.  

  • Click on “Add Roles and Feature”

 


  • It will open “add feature” dialog. Click next till you reach “Server Roles”.


  • In that, expand “Web Server (IIS)”






  • In that expand “Management Tools”

 


  • In that expand “IIS 6 Management Compatibility”

 


  • In that, check “IIS 6 WMI Compatibility”, “IIS 6 Metabase Compatibility” & “IIS 6 Management Console” and click Next.

 


Note - In my case the first two were installed. If it is not installed in your side, it will show as not checked.

  • Click Next in feature selection.

 


  • Click Install in confirmation installation screen.

 


  • It will start installing the feature. Wait for the completion.

 


  • Click close once done.

 


  • Restart the visual studio and try to deploy the project and it will deploy successfully. 

 


If you are using Windows operating system machine, then you can follow below steps to install “IIS 6 WMI Compatibility”:

  • Go to Control panel.

 


  • Click on Program.

 


  • Click on “Turn Windows Feature on or Off” (you will require admin rights for this).
  • It will open feature dialog. 
  • Open Internet Information Services.
  • Open Web Management Tools.
  • Open IIS 6.0 Management Compatibility.
  • Click to select the IIS 6 Metabase and IIS 6 configuration compatibility, IIS 6 WMI Compatibility, and IIS 6 Management Console check boxes.

 


  • Click OK.

You can set up this using powershell as well. 

Follow below steps for the same:

  • Open “Windows PowerShell” in administrator mode.
  • You need to first import server manager module. 
  • Then you can run command to run feature. 

PS C:>Import-Module servermanager

PS C:> Add-WindowsFeature Web-WMI

The output will look like below: