How do I ensure ssrs security using web api - c#

We have an angular application on the client side, we use .net core web api on the back-end side. We used SSRS for the reporting system in our project. On the client side, we show these reports on the client using the ngx-ssrs-reportviewer module. My problem is that I want to check the identity and authorization of these users and show these reports accordingly, I need to prevent customers from seeing each other's information. I can also set up a new service, provide security with firewall, and only send requests from my api.enter image description here

Related

Identity Server4 Authentication Web API failing

I have an application that is broken up into 3 tiers. I have Identity Server 4, a Web API and a C# Razor/MVC (.NET 5) application deployed separately all on the same domain. There is a reverse proxy setup to route requests for each to their own server. So www.somedomain.com/IdentityServer, www.somedomain.com/MVC and www.somedomain.com/api.
I am using Identity Server to authenticate and we can successfully do so without an issue. However when I try to call one of the API endpoints (which are decorated with the [Authorize] attribute) from the C# Razor/MVC application I get a 'Authorization failed! Given Policy has not been granted' error.
When I run the same endpoint that the C# Razor app consumes using swagger/postman (after I've been authorized and get a token) I have no problem returning returning valid results, so the issue seems to be related my authentication between the Razor app and Web API.
When I run these 3 tiers locally in Visual Studio (all with localhost but a different port #), it all works just fine.
Any thoughts or additional information needed to give me some ideas of what the issue may be? Thank you so much in advance for your help.

How to Send Request to Microsoft Dynamics Navision2016 from asp.net Application by C#

I am Working with Civil & Real Estate Domain ERP Application. Now i want integrate our App with Microsoft Dynamics Navision. we bought that Nav Product and hosted in our server. Now I want to know how to send request and receive response from NAV Server by using C# Language.such as creating a groups and Ledgers(For Finance Module) and Checking GL Exisiting or Not. and Particular Company is Existing and Sending Payment Data to Server through we Request etc..,
Mainly I want to Know how to Communicate with NAV Server Using Web Requests.
any body Please Help Me....
You can communicate with dynamics nav via web-requests.
In order to use them, you need to enable them in the "web requests" page. if you have specific needs like getting the gl entries etc. you need to publish pages / codeunits in order to do so.
authorisation is done via http header. protocol can be soap starting with version navision 2009 SP1 or ODATA (basicly a rest api) i think from NAV 2015 on

Programatically view a CRM report without access to Reporting Server

Is there any way that I can view a report (Sales > Reports) using C# without having access to the reporting server?
I am attempting to write a tool that monitors the health of our CRM servers (entity records in right place etc) and as such I want the tool to be located somewhere where it has access to each CRM instance (ranging from 2013 on prem to 2016 Online).
The reason for this is that we havea report that does all the heavy lifting of checking the health of all entities,settings,records etc and i just want to be able to programatically examine this report (via xml parsing) and tell the user the result.
I tried using the html scraping, direct URL approach: /crmreports/viewer/viewer.aspx?Id=xxxxxxx however, perhaps predictably, the returned HTML was just a page prompting for a login.
I do have all of the credentials to make an Xrm Service connection but I am not sure of how to access reports using this.
Is going through the reporting services asmx the only way?
You can call SSRS WebService in your C#.
To do so you shall add a Web Service reference:
Instruction
Consider that there are 3 webservices in SSRS
There are three endpoints available for managing objects on a report
server, ReportService2005, ReportService2006, and ReportService2010.
The ReportService2005 endpoint is used for managing objects on a
report server that is configured for native mode.
The ReportService2006 endpoint is used for managing objects on a report
server that is configured for SharePoint integrated mode.
The ReportService2010 endpoint merges the functionalities of
ReportService2005 and ReportService2006 and can manage objects on a
report server that that are configured for either native or SharePoint
integrated mode.
Read more here

Can .NET smart client software call ASP.NET membership for authentication?

I'm writing a new desktop app as a smart client. Although it will need to cache some data locally, data will be downloaded and commands issued via a WCF web service.
So that "not just anyone" can call the web service operations to get data or issue commands, I'd like to use forms authentication. I'd like users of the desktop app to log into it with their website credentials (all on the same domain), and from them on for the app to supply the "token" (cookie or whatever) with each WCF request, so that the WCF service can authenticate/authorise them.
Is this possible, and could someone point me in the right direction (keywords, tech to research), please?
I know that I could "roll my own" where I have an authentication service that will return a token, and that each web service operation could require a token that it will look up authorisation information for, but it seems we already have this in the ASP.NET membership stuff, so I'd like to make use of it.
Many thanks in advance.
If you are using VS 2010, it is build it, you just have to select in the project properties, and then click the Services tab. MS changed the name to Client Application Services. Just check the Enable client application services and then fill in the blanks.
Here is the whole help section on it from MS...
http://msdn.microsoft.com/en-us/library/bb384297.aspx

Send Username and Password to .net Web Service using Spring .NET

I am developing a .net application using Web Services, and the application is consuming them using Spring.Net WebServiceProxyFactory.
I need to send to the web service the username and password of the user that is logged in to the application, consuming the web service.
Reading some forum post (like this http://forum.springframework.net/showthread.php?t=4818) they seem to refer to an example that used to be in the spring documentation ( http://www.springframework.net/doc-latest/reference/html/webservices.html ), an example of how using SOAP headers for authentication using the WebServiceExporter and WebServiceProxyFactory, but the link to the file is broken.
Do you know a way that I can send the user credentials as a soap header using spring.net? Or any data (for example, a token ID that the web service will use later to get the user credentials).
Thanks.
Here is something that might help you
http://www.codeproject.com/KB/webservices/SOAPHeaderAuthentication.aspx

Categories

Resources