Showing posts with label authentication. Show all posts
Showing posts with label authentication. Show all posts

Sunday, March 25, 2012

Customising Report Manager

Hi,

I have implemented Forms authentication for my report manager. (using the custom Security sample solution) ie i have added a login page, which upon autentication redirects to report manager.

Now i want to add a "sign out" link in the report manager so that when the user clicks on that, it gets redirects to the login page.

Is it possible, if so can anyone let me know where i can implement the code for the same

Thanks,

Bharath V V

Report manager wasn't exactly meant to be customized. How did you create your login page? Using Visual Studio 2005?

|||

There really is not a lot of customizing that you can do with report manager.

In the past few times I have needed to customize, I just created an entire application to replace report manager.

Then used a combination of the web services and/or report viewer control.

BobP

|||Yes.. using VS 2005, and the CustomSecurity.Sln given in the reporting services samples.|||

Oh thats bad news for me

anyways thanks BobP

bharthvv

Tuesday, March 20, 2012

custom sercurity extention and ssl

can the custome security extension for forms authentication use ssl?yes, you can use forms authentication and ssl at the same the.
We are doing that, and, BTW, it is highly recommended in extranet
environment.
Oleg Yevteyev,
San Diego, CA
It is OK to contact me with a contracting opportunity.
"myfirstname"001atgmaildotcom.
Replace "myfirstname" with Oleg.
--
"Marvin" <Marvin@.discussions.microsoft.com> wrote in message
news:68F16E7C-D64B-4315-B1F4-A68532032AB5@.microsoft.com...
> can the custome security extension for forms authentication use ssl?

Custom Security w/ Standard Edition/

Hello...

I am trying to verify that the ability to use the security extension to use Forms based authentication is available (or not) with SQL 2005 Standard. I have read a few books and articles that state that only the Enterprise edition will allow us to use the security extensions to customize authentication and authorization. But a few recently have told me otherwise.

Does anyone know for sure? We use Standard edition...and would like to customize our security.

thanks

- will

Hello again,

Does anyone know the answer here?

Thanks for any help,

- will

|||

SQL Server 2005 Reporting Services Standard edition allows custom security :-)

http://msdn2.microsoft.com/en-us/library/ms143761.aspx

Features/Reporting Services Enhancements

EE (32-bit) DE (32-bit) EE (64-bit) DE (64-bit)

SE (32-bit) SE (64-bit)

WG (32-bit)

SSE (32-bit)

SSEA (32-bit)

Support for remote and nonrelational data sources

Yes

Yes

No

No

No

DHTML, Excel, PDF, and Image rendering extensions

Yes

Yes

Yes

No

Yes

MHTML, CSV, XML, and Null rendering extensions

Yes

Yes

No

No

No

E-mail and file share delivery extensions

Yes

Yes

No

No

No

Custom data processing, delivery, and rendering extensions

Yes

Yes

No

No

No

Custom authentication extensions

Yes

Yes

Yes

No

No

Custom Security Roles

I am trying to implement forms authentication in reporting services and I
would like to use the report manager for rendering reports. What I don't
want to use is the built-in tools for item level and system level security.
Is there a way to get information as to which item is being accessed in the
Getpermissions and CheckAccess function so I can check my custom database for
authorization?Brent,
I don't think you need to know the item accessed because the CheckAccess
overload is scoped at an item level. In other words, if the user tries to
run a report A, the Report Server will pass the security descriptor for
report A only. The job of the security extension is to find out if the user
has rights to carry the action by examing the security descriptor. Any yes,
you can use application-defined role membership policies to simplify the
user maintanance.
I have a two-part article in the works for the SQL Magazine which discusses
Forms Authentication in detail. It should be out in January-February issues
I think.
--
Hope this helps.
---
Teo Lachev, MVP [SQL Server], MCSD, MCT
Author: "Microsoft Reporting Services in Action"
Publisher website: http://www.manning.com/lachev
Buy it from Amazon.com: http://shrinkster.com/eq
Home page and blog: http://www.prologika.com/
---
"Brent Slezak" <Brent Slezak@.discussions.microsoft.com> wrote in message
news:4614209E-953D-4A4B-B2BD-96EFE79FFDAC@.microsoft.com...
> I am trying to implement forms authentication in reporting services and I
> would like to use the report manager for rendering reports. What I don't
> want to use is the built-in tools for item level and system level
security.
> Is there a way to get information as to which item is being accessed in
the
> Getpermissions and CheckAccess function so I can check my custom database
for
> authorization?|||Teo,
First of all, I want to thank you for your prompt response to my question
and I will be looking for that article when it comes out.
Let me go into further detail as to the situation with the reporting
services and how I would like to use them. I currrently have a proprietary
security system setup for my enterprise-scale application that manages
thousands of users and groups and tens of thousands of roles. I don't want to
have to re-define that information in the ReportSErver database. Actually I
would like it if I had absolutly no security definition at all in the
ReportServer database. That being said. How would I get the unique
identifier of the object (i.e. report,folder,datasource) being accessed so
that I can cross-reference MyDatabase1 for security access.
In a nutshell I want to be able to use the report manager for the report
rendering and not for managing role-based security. I think building our own
custom rendering UI is the only logical alternative.
Please let me know what you would consider the best option with this scenario.
Thank you in advance for your input.
Brent
"Teo Lachev [MVP]" wrote:
> Brent,
> I don't think you need to know the item accessed because the CheckAccess
> overload is scoped at an item level. In other words, if the user tries to
> run a report A, the Report Server will pass the security descriptor for
> report A only. The job of the security extension is to find out if the user
> has rights to carry the action by examing the security descriptor. Any yes,
> you can use application-defined role membership policies to simplify the
> user maintanance.
> I have a two-part article in the works for the SQL Magazine which discusses
> Forms Authentication in detail. It should be out in January-February issues
> I think.
> --
> Hope this helps.
> ---
> Teo Lachev, MVP [SQL Server], MCSD, MCT
> Author: "Microsoft Reporting Services in Action"
> Publisher website: http://www.manning.com/lachev
> Buy it from Amazon.com: http://shrinkster.com/eq
> Home page and blog: http://www.prologika.com/
> ---
> "Brent Slezak" <Brent Slezak@.discussions.microsoft.com> wrote in message
> news:4614209E-953D-4A4B-B2BD-96EFE79FFDAC@.microsoft.com...
> > I am trying to implement forms authentication in reporting services and I
> > would like to use the report manager for rendering reports. What I don't
> > want to use is the built-in tools for item level and system level
> security.
> >
> > Is there a way to get information as to which item is being accessed in
> the
> > Getpermissions and CheckAccess function so I can check my custom database
> for
> > authorization?
>
>|||Brent,
I understand your scenario now. Of course, assuming that the reports will
be rendered on the server side of the application you don't have an issue
since you have an application front end. This is similar to the security
scenario I describe in Chapter 13 of my book.
However, the real problem is with URL addressability and custom security
extension. One approach that may be appropriate in your case is to get the
report path from the URL request. This could be similar to the approach I
describe in the following thread
http://groups.google.com/groups?q=Disable+Hyperlink+in+EXCEL&hl=en&lr=&selm=%23VCcwuh1EHA.1264%40TK2MSFTNGP12.phx.gbl&rnum=1
Once you get the report path, you can get the report identifier (the primary
key in table Catalgo) which is what you may want to use in your custom
security infrastructure.
--
Hope this helps.
---
Teo Lachev, MVP [SQL Server], MCSD, MCT
Author: "Microsoft Reporting Services in Action"
Publisher website: http://www.manning.com/lachev
Buy it from Amazon.com: http://shrinkster.com/eq
Home page and blog: http://www.prologika.com/
---
"Brent Slezak" <BrentSlezak@.discussions.microsoft.com> wrote in message
news:3741B21F-0963-457F-8EC6-A1F6403CB514@.microsoft.com...
> Teo,
> First of all, I want to thank you for your prompt response to my question
> and I will be looking for that article when it comes out.
> Let me go into further detail as to the situation with the reporting
> services and how I would like to use them. I currrently have a
proprietary
> security system setup for my enterprise-scale application that manages
> thousands of users and groups and tens of thousands of roles. I don't want
to
> have to re-define that information in the ReportSErver database. Actually
I
> would like it if I had absolutly no security definition at all in the
> ReportServer database. That being said. How would I get the unique
> identifier of the object (i.e. report,folder,datasource) being accessed so
> that I can cross-reference MyDatabase1 for security access.
> In a nutshell I want to be able to use the report manager for the report
> rendering and not for managing role-based security. I think building our
own
> custom rendering UI is the only logical alternative.
> Please let me know what you would consider the best option with this
scenario.
> Thank you in advance for your input.
> Brent
> "Teo Lachev [MVP]" wrote:
> > Brent,
> >
> > I don't think you need to know the item accessed because the CheckAccess
> > overload is scoped at an item level. In other words, if the user tries
to
> > run a report A, the Report Server will pass the security descriptor for
> > report A only. The job of the security extension is to find out if the
user
> > has rights to carry the action by examing the security descriptor. Any
yes,
> > you can use application-defined role membership policies to simplify the
> > user maintanance.
> >
> > I have a two-part article in the works for the SQL Magazine which
discusses
> > Forms Authentication in detail. It should be out in January-February
issues
> > I think.
> >
> > --
> > Hope this helps.
> >
> > ---
> > Teo Lachev, MVP [SQL Server], MCSD, MCT
> > Author: "Microsoft Reporting Services in Action"
> > Publisher website: http://www.manning.com/lachev
> > Buy it from Amazon.com: http://shrinkster.com/eq
> > Home page and blog: http://www.prologika.com/
> > ---
> >
> > "Brent Slezak" <Brent Slezak@.discussions.microsoft.com> wrote in message
> > news:4614209E-953D-4A4B-B2BD-96EFE79FFDAC@.microsoft.com...
> > > I am trying to implement forms authentication in reporting services
and I
> > > would like to use the report manager for rendering reports. What I
don't
> > > want to use is the built-in tools for item level and system level
> > security.
> > >
> > > Is there a way to get information as to which item is being accessed
in
> > the
> > > Getpermissions and CheckAccess function so I can check my custom
database
> > for
> > > authorization?
> >
> >
> >

Custom Security Forms Authentication for Report Manager

I have reviewed/implemented the examples in MSDN, Brian Larson, and T.
Lachev's works for custom security forms authentication for reporting
server(including Lache's Role based structure outlined in the book and DevX
forums).
However, the documentation falls short of configuring the Report Manager for
custom security-forms authentication as well. What procedures would I need to
complete to remove the Windows authentication requirement from the Report
Manager and replace with forms authentication. Specifically, I want to add a
html redirect page to take to "My App" that handles Single Sign on calls(to
LDAP) which will also call the logon user methods from SSRS to establish the
necessary SSRS cookies and allow us to link to the /Reports/Pages/Folder to
access the report manager from within the application.
Specifically: I need sample settings for each of these Report Manager
configuration files
1) Web.Config
2) RSWebApplication.Config
3) rsmgrpolicy.config
Also what location would I have to store the appropriate redirect page and
what path setting do I need to apply to any of the above files to make this
work.
Thanks for any help you can provide.Answered here:
http://www.sqltalk.org/ftopic9114.html&highlight=forms+authentication
Bottom line was web.config for the report manager has to have
<authentication mode="Windows"/>
<authorization>
<allow users="*" />
</authorization>
<identity impersonate="false"/>
And your RSWebapplication.config
should have <loginUrl>/Home.aspx</loginUrl>
Note that your IIS default content will have your redirect page which you
save in your report manager directory and not the home.aspx.

Thursday, March 8, 2012

Custom Forms Authentication - fails every two or three hours after working fine.

I'm enclosing the pertinent log entries form the
ReportServer_DD_DD_DDDD_HH_MM_SS.log file.
Problem: I've written a custom forms auth extension that (naturally)
works fine in the test environment. In production, under about 25 - 20
users (80 - 150 report requests) per hour, everything works fine until
after about two or three hours, for some reason, the following errors
(below) appear in the log, and in the event log an error is thrown that
simply states:
"Report Server cannot load the forms extension."
Then, no can access the report manager becuase you get an error that
says a configuration file for report server was changed and it can't
acces report server (sorry, i don't have the exact message text). NO
CHANGE HAS BEEN MADE TO ANY CONFIG FILE!
All I then do is restart the reporting service and restart IIS, and
everything is just fine again for a few hours.
My client has to have this Single Sign on solution, and it works really
nice. But to have it go down every few hours on the production server
doesn't instill confidence.
The following two line from the report server logfile reference
something about trying to add a 'delete schedules' key. We don't allow
any subscriptions, nor do we have any custom schedules defined. We do
have Sql Agent running for data feeds and execution log stats on our db
server. I don't know where its getting 'delete schedules' from.
Any help would help...
btw we're running WIN2003 SP1, ENT RS SP1 on web server, WIN2003 SP1 on
database server.
here's the log file entries:
w3wp!extensionfactory!c70!05/10/2005-15:12:03:: e ERROR: Exception
caught instantiating report server extension:
System.Reflection.TargetInvocationException: Exception has been thrown
by the target of an invocation. --> System.ArgumentException: Item has
already been added. Key in dictionary: "DeleteSchedules" Key being
added: "DeleteSchedules"
at System.Collections.Hashtable.Insert(Object key, Object nvalue,
Boolean add)
at System.Collections.Hashtable.Add(Object key, Object value)
at
Thrivent.FPM.ReportingServices.CustomSecurityExtension.Authorization.InitializeMaps()
at
Thrivent.FPM.ReportingServices.CustomSecurityExtension.Authorization..ctor()
-- End of inner exception stack trace --
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr,
Binder binder, Object[] args, CultureInfo culture, Object[]
activationAttributes)
at System.Activator.CreateInstance(Type type, BindingFlags
bindingAttr, Binder binder, Object[] args, CultureInfo culture,
Object[] activationAttributes)
at System.Reflection.Assembly.CreateInstance(String typeName,
Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[]
args, CultureInfo culture, Object[] activationAttributes)
at System.Reflection.Assembly.CreateInstance(String typeName)
at
Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.AssertAndCreate(Assembly
assembly, String typeName)
at
Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.AssertAndCreate(Assembly
assembly, String typeName)
at
Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.GetNewExtensionInstance(String
extensionName, String extensionType).
w3wp!extensionfactory!34c!05/10/2005-15:12:03:: e ERROR: Exception
caught instantiating report server extension:
System.Reflection.TargetInvocationException: Exception has been thrown
by the target of an invocation. --> System.Exception: Number of
catalog names don't match.
at
Thrivent.FPM.ReportingServices.CustomSecurityExtension.Authorization.InitializeMaps()
at
Thrivent.FPM.ReportingServices.CustomSecurityExtension.Authorization..ctor()
-- End of inner exception stack trace --
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr,
Binder binder, Object[] args, CultureInfo culture, Object[]
activationAttributes)
at System.Activator.CreateInstance(Type type, BindingFlags
bindingAttr, Binder binder, Object[] args, CultureInfo culture,
Object[] activationAttributes)
at System.Reflection.Assembly.CreateInstance(String typeName,
Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[]
args, CultureInfo culture, Object[] activationAttributes)
at System.Reflection.Assembly.CreateInstance(String typeName)
at
Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.AssertAndCreate(Assembly
assembly, String typeName)
at
Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.AssertAndCreate(Assembly
assembly, String typeName)
at
Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.GetNewExtensionInstance(String
extensionName, String extensionType).
w3wp!library!34c!05/10/2005-15:12:03:: e ERROR: Throwing
Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
The Report Server has encountered a configuration error; more details
in the log files, Could not load Authorization extension;
Info:
Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
The Report Server has encountered a configuration error; more details
in the log files
w3wp!library!c70!05/10/2005-15:12:03:: e ERROR: Throwing
Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
The Report Server has encountered a configuration error; more details
in the log files, Could not load Authorization extension;
Info:
Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
The Report Server has encountered a configuration error; more details
in the log files
w3wp!processing!34c!05/10/2005-15:12:03:: e ERROR: An error has
occurred while retrieving datasources for a sub-report. Details: The
Report Server has encountered a configuration error; more details in
the log files
w3wp!processing!c70!05/10/2005-15:12:03:: e ERROR: An error has
occurred while retrieving datasources for a sub-report. Details: The
Report Server has encountered a configuration error; more details in
the log files
w3wp!processing!34c!05/10/2005-15:12:03:: e ERROR: Stack trace: at
Microsoft.ReportingServices.Library.Security.get_AuthorizationExtension()
at Microsoft.ReportingServices.Library.Security.CheckAccess(ItemType
catItemType, Byte[] secDesc, ReportOperation rptOper)
at
Microsoft.ReportingServices.Library.RSService.ProcessingGetDataSources(CatalogItemContext
reportContext, String subreportPath, CatalogItemContext&
subreportContext, GetReportChunk& getCompiledDefinition,
DataSourceInfoCollection& dataSources)
at
Microsoft.ReportingServices.ReportProcessing.ReportProcessing.a(Report
A_0, DataSourceInfoCollection A_1, CatalogItemContext A_2,
SubReportDataSourcesCallback A_3, RuntimeDataSourceInfoCollection A_4,
Int32 A_5, Boolean A_6, ServerDataSourceSettings A_7)
w3wp!processing!c70!05/10/2005-15:12:03:: e ERROR: Stack trace: at
Microsoft.ReportingServices.Library.Security.get_AuthorizationExtension()
at Microsoft.ReportingServices.Library.Security.CheckAccess(ItemType
catItemType, Byte[] secDesc, ReportOperation rptOper)
at
Microsoft.ReportingServices.Library.RSService.ProcessingGetDataSources(CatalogItemContext
reportContext, String subreportPath, CatalogItemContext&
subreportContext, GetReportChunk& getCompiledDefinition,
DataSourceInfoCollection& dataSources)
at
Microsoft.ReportingServices.ReportProcessing.ReportProcessing.a(Report
A_0, DataSourceInfoCollection A_1, CatalogItemContext A_2,
SubReportDataSourcesCallback A_3, RuntimeDataSourceInfoCollection A_4,
Int32 A_5, Boolean A_6, ServerDataSourceSettings A_7)
w3wp!library!c70!05/10/2005-15:12:03:: e ERROR: Throwing
Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
The Report Server has encountered a configuration error; more details
in the log files, Could not load Authorization extension;
Info:
Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
The Report Server has encountered a configuration error; more details
in the log files
w3wp!processing!c70!05/10/2005-15:12:03:: e ERROR: An error has
occurred while retrieving datasources for a sub-report. Details: The
Report Server has encountered a configuration error; more details in
the log files
w3wp!processing!c70!05/10/2005-15:12:03:: e ERROR: Stack trace: at
Microsoft.ReportingServices.Library.Security.get_AuthorizationExtension()
from here on everything comes up with the same error.Hi,
I am implementing a Single Sign on for my Web application and RS to fetch
the reports using URL. But when I try to access the report, RS shows the
logon screen, which I don't wan as user is already logged on to the web
application. Logon screen is shown only for first request.
Please let me know if I need to do some settings or add some infor in
Request/Response.
Thanks,
Mahesh
"jahles" wrote:
> I'm enclosing the pertinent log entries form the
> ReportServer_DD_DD_DDDD_HH_MM_SS.log file.
> Problem: I've written a custom forms auth extension that (naturally)
> works fine in the test environment. In production, under about 25 - 20
> users (80 - 150 report requests) per hour, everything works fine until
> after about two or three hours, for some reason, the following errors
> (below) appear in the log, and in the event log an error is thrown that
> simply states:
> "Report Server cannot load the forms extension."
> Then, no can access the report manager becuase you get an error that
> says a configuration file for report server was changed and it can't
> acces report server (sorry, i don't have the exact message text). NO
> CHANGE HAS BEEN MADE TO ANY CONFIG FILE!
> All I then do is restart the reporting service and restart IIS, and
> everything is just fine again for a few hours.
> My client has to have this Single Sign on solution, and it works really
> nice. But to have it go down every few hours on the production server
> doesn't instill confidence.
> The following two line from the report server logfile reference
> something about trying to add a 'delete schedules' key. We don't allow
> any subscriptions, nor do we have any custom schedules defined. We do
> have Sql Agent running for data feeds and execution log stats on our db
> server. I don't know where its getting 'delete schedules' from.
> Any help would help...
> btw we're running WIN2003 SP1, ENT RS SP1 on web server, WIN2003 SP1 on
> database server.
> here's the log file entries:
> w3wp!extensionfactory!c70!05/10/2005-15:12:03:: e ERROR: Exception
> caught instantiating report server extension:
> System.Reflection.TargetInvocationException: Exception has been thrown
> by the target of an invocation. --> System.ArgumentException: Item has
> already been added. Key in dictionary: "DeleteSchedules" Key being
> added: "DeleteSchedules"
> at System.Collections.Hashtable.Insert(Object key, Object nvalue,
> Boolean add)
> at System.Collections.Hashtable.Add(Object key, Object value)
> at
> Thrivent.FPM.ReportingServices.CustomSecurityExtension.Authorization.InitializeMaps()
> at
> Thrivent.FPM.ReportingServices.CustomSecurityExtension.Authorization..ctor()
> -- End of inner exception stack trace --
> at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly)
> at System.Activator.CreateInstance(Type type, Boolean nonPublic)
> at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr,
> Binder binder, Object[] args, CultureInfo culture, Object[]
> activationAttributes)
> at System.Activator.CreateInstance(Type type, BindingFlags
> bindingAttr, Binder binder, Object[] args, CultureInfo culture,
> Object[] activationAttributes)
> at System.Reflection.Assembly.CreateInstance(String typeName,
> Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[]
> args, CultureInfo culture, Object[] activationAttributes)
> at System.Reflection.Assembly.CreateInstance(String typeName)
> at
> Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.AssertAndCreate(Assembly
> assembly, String typeName)
> at
> Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.AssertAndCreate(Assembly
> assembly, String typeName)
> at
> Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.GetNewExtensionInstance(String
> extensionName, String extensionType).
> w3wp!extensionfactory!34c!05/10/2005-15:12:03:: e ERROR: Exception
> caught instantiating report server extension:
> System.Reflection.TargetInvocationException: Exception has been thrown
> by the target of an invocation. --> System.Exception: Number of
> catalog names don't match.
> at
> Thrivent.FPM.ReportingServices.CustomSecurityExtension.Authorization.InitializeMaps()
> at
> Thrivent.FPM.ReportingServices.CustomSecurityExtension.Authorization..ctor()
> -- End of inner exception stack trace --
> at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly)
> at System.Activator.CreateInstance(Type type, Boolean nonPublic)
> at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr,
> Binder binder, Object[] args, CultureInfo culture, Object[]
> activationAttributes)
> at System.Activator.CreateInstance(Type type, BindingFlags
> bindingAttr, Binder binder, Object[] args, CultureInfo culture,
> Object[] activationAttributes)
> at System.Reflection.Assembly.CreateInstance(String typeName,
> Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[]
> args, CultureInfo culture, Object[] activationAttributes)
> at System.Reflection.Assembly.CreateInstance(String typeName)
> at
> Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.AssertAndCreate(Assembly
> assembly, String typeName)
> at
> Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.AssertAndCreate(Assembly
> assembly, String typeName)
> at
> Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.GetNewExtensionInstance(String
> extensionName, String extensionType).
> w3wp!library!34c!05/10/2005-15:12:03:: e ERROR: Throwing
> Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
> The Report Server has encountered a configuration error; more details
> in the log files, Could not load Authorization extension;
> Info:
> Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
> The Report Server has encountered a configuration error; more details
> in the log files
> w3wp!library!c70!05/10/2005-15:12:03:: e ERROR: Throwing
> Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
> The Report Server has encountered a configuration error; more details
> in the log files, Could not load Authorization extension;
> Info:
> Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
> The Report Server has encountered a configuration error; more details
> in the log files
> w3wp!processing!34c!05/10/2005-15:12:03:: e ERROR: An error has
> occurred while retrieving datasources for a sub-report. Details: The
> Report Server has encountered a configuration error; more details in
> the log files
> w3wp!processing!c70!05/10/2005-15:12:03:: e ERROR: An error has
> occurred while retrieving datasources for a sub-report. Details: The
> Report Server has encountered a configuration error; more details in
> the log files
> w3wp!processing!34c!05/10/2005-15:12:03:: e ERROR: Stack trace: at
> Microsoft.ReportingServices.Library.Security.get_AuthorizationExtension()
> at Microsoft.ReportingServices.Library.Security.CheckAccess(ItemType
> catItemType, Byte[] secDesc, ReportOperation rptOper)
> at
> Microsoft.ReportingServices.Library.RSService.ProcessingGetDataSources(CatalogItemContext
> reportContext, String subreportPath, CatalogItemContext&
> subreportContext, GetReportChunk& getCompiledDefinition,
> DataSourceInfoCollection& dataSources)
> at
> Microsoft.ReportingServices.ReportProcessing.ReportProcessing.a(Report
> A_0, DataSourceInfoCollection A_1, CatalogItemContext A_2,
> SubReportDataSourcesCallback A_3, RuntimeDataSourceInfoCollection A_4,
> Int32 A_5, Boolean A_6, ServerDataSourceSettings A_7)
> w3wp!processing!c70!05/10/2005-15:12:03:: e ERROR: Stack trace: at
> Microsoft.ReportingServices.Library.Security.get_AuthorizationExtension()
> at Microsoft.ReportingServices.Library.Security.CheckAccess(ItemType
> catItemType, Byte[] secDesc, ReportOperation rptOper)
> at
> Microsoft.ReportingServices.Library.RSService.ProcessingGetDataSources(CatalogItemContext
> reportContext, String subreportPath, CatalogItemContext&
> subreportContext, GetReportChunk& getCompiledDefinition,
> DataSourceInfoCollection& dataSources)
> at
> Microsoft.ReportingServices.ReportProcessing.ReportProcessing.a(Report
> A_0, DataSourceInfoCollection A_1, CatalogItemContext A_2,
> SubReportDataSourcesCallback A_3, RuntimeDataSourceInfoCollection A_4,
> Int32 A_5, Boolean A_6, ServerDataSourceSettings A_7)
> w3wp!library!c70!05/10/2005-15:12:03:: e ERROR: Throwing
> Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
> The Report Server has encountered a configuration error; more details
> in the log files, Could not load Authorization extension;
> Info:
> Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException:
> The Report Server has encountered a configuration error; more details
> in the log files
> w3wp!processing!c70!05/10/2005-15:12:03:: e ERROR: An error has
> occurred while retrieving datasources for a sub-report. Details: The
> Report Server has encountered a configuration error; more details in
> the log files
> w3wp!processing!c70!05/10/2005-15:12:03:: e ERROR: Stack trace: at
> Microsoft.ReportingServices.Library.Security.get_AuthorizationExtension()
>
> from here on everything comes up with the same error.
>

Sunday, February 19, 2012

Custom authorization with forms authentication

We are currently implementing forms authentication in our RS deployment. The
MSDN sample helped get us started. We are now faced with the authorization
implementation.
How do I go about telling RS which user has access to which folder/report?
Telling RS which users will be administrators? Do I still get to use
role-based security and can create/edit my roles through the Report Manager
or do I need to assign indepentent permissions per user?Ray,
Yes, you would establish role-based security policies just like you would do
with Windows-based security. Your authorization extension will have the
final say if the user is authorized to perform a given action. For example,
if you need to implement role membership rules, you can change the
CheckAccess overloads to account for the addtional rights that the user will
get based on her role membership. Debugging the CheckAccess overloads should
help you clarify how this could be done.
--
Hope this helps.
----
Teo Lachev, MCSD, MCT
Author: "Microsoft Reporting Services in Action"
Publisher website: http://www.manning.com/lachev
Buy it from Amazon.com: http://shrinkster.com/eq
Home page and blog: http://www.prologika.com/
----
"RayG" <RayG@.discussions.microsoft.com> wrote in message
news:40831253-2400-44A3-8A2E-3FF9171C7510@.microsoft.com...
> We are currently implementing forms authentication in our RS deployment.
The
> MSDN sample helped get us started. We are now faced with the
authorization
> implementation.
> How do I go about telling RS which user has access to which folder/report?
> Telling RS which users will be administrators? Do I still get to use
> role-based security and can create/edit my roles through the Report
Manager
> or do I need to assign indepentent permissions per user?|||Ray,
Let me clarify. The default implementation of a custom authentication
extension as demonstrated in the MS sample relies on the role-based policies
the report administrator has established for a report item. This is very
much the same as the Windows-based role-based security the comes by default
with RS. So, for example if you have a web customer with an id of johndoe
and you want him to view a given report by URL, you can grant him Browser
permissions to that report using the Report Manager. This is pretty much all
you have to do to get John Doe set up for Forms Authentication assuming that
you "inherit" the MS sample code.
At the same time, the Forms Authentication model of RS is very flexible. For
example, it is typically impractical to create role-based security policies
for individual users, especially for Internet-facing applications. Then,
what you can do is to implement additional logic in your CheckAccess
overloads to take in consideration the application role membership your
users have.
The beauty of this model is that the authentication and authorization
implementation is totally outside the Report Server and responsibility of
your extension.
Does this all make sense now?
--
Hope this helps.
----
Teo Lachev, MCSD, MCT
Author: "Microsoft Reporting Services in Action"
Publisher website: http://www.manning.com/lachev
Buy it from Amazon.com: http://shrinkster.com/eq
Home page and blog: http://www.prologika.com/
----
"RayG" <RayG@.discussions.microsoft.com> wrote in message
news:B0C6D8D1-B26E-42FA-BB46-CF3918FB15EB@.microsoft.com...
> I think I was under the wrong impression, then.
> Instead of telling RS which user has which type of access to which
resource
> and then letting RS allow or deny access when it receives requests, seems
> like it's me who will decide whether to allow or deny, as I will be
servicing
> the security side of the requests.
> If I am correct and this is the case, how is this role-based security? I
am
> getting a resource and a user and simply responding with a "Yes" or a "No"
> based on my internal logic (security database).
> Please clarify.
> Thanks!
>
> "Teo Lachev" wrote:
> > Ray,
> >
> > Yes, you would establish role-based security policies just like you
would do
> > with Windows-based security. Your authorization extension will have the
> > final say if the user is authorized to perform a given action. For
example,
> > if you need to implement role membership rules, you can change the
> > CheckAccess overloads to account for the addtional rights that the user
will
> > get based on her role membership. Debugging the CheckAccess overloads
should
> > help you clarify how this could be done.
> >
> > --
> > Hope this helps.
> >
> > ----
> > Teo Lachev, MCSD, MCT
> > Author: "Microsoft Reporting Services in Action"
> > Publisher website: http://www.manning.com/lachev
> > Buy it from Amazon.com: http://shrinkster.com/eq
> > Home page and blog: http://www.prologika.com/
> > ----
> >
> > "RayG" <RayG@.discussions.microsoft.com> wrote in message
> > news:40831253-2400-44A3-8A2E-3FF9171C7510@.microsoft.com...
> > > We are currently implementing forms authentication in our RS
deployment.
> > The
> > > MSDN sample helped get us started. We are now faced with the
> > authorization
> > > implementation.
> > >
> > > How do I go about telling RS which user has access to which
folder/report?
> > > Telling RS which users will be administrators? Do I still get to use
> > > role-based security and can create/edit my roles through the Report
> > Manager
> > > or do I need to assign indepentent permissions per user?
>|||Hi Teo,
I am having a problem similar to RayG's, using the forms authentication
sample code. I put some debug statements into the
Microsoft.Samples.ReportingServices.CustomSecurity.Authorization class,
CheckAccess methods. I also commented out the logic in the
AuthenticationExtension and AuthenticationUtilities classes such that all
logon attempts are permitted without password checking (return true).
I found that when accessing report resources using an identity that is
defined in MSRS, that the Authorization.CheckAccess methods are invoked. I
set up security on the Home folder and one subfolder, and was able to use
combinations of groups to restrict access appropriately. I also found that
when you use a logon credential that is not defined in MSRS (that is, not
used in any object's ACL), that the Authorization.CheckAccess methods are not
invoked. For example, I set up a "Users" group, and granted it access to a
folder. Logging on as "Users" I could access this folder. Logging on as
"User" gave me an access denied message, as expected, however, none of the
Authorization.CheckAccess methods were invoked either...unexpected.
This presents a problem, as I am trying to set up groups in MSRS that map to
user groups in my application. It seems that because the
Authorization.CheckAccess methods are not invoked in this case, there is no
opportunity to extend them with custom authorization code which would take
advantage of a user's GenericPrincipal role affiliations (using a
GenericPrincipal object I attached to the HttpContext earlier) to facilitate
group-to-group mapping for confirming or denying access to a resource.
I don't know if this is a bug in MSRS, or if I have simply misconfigured
something. Any ideas? Thanks.
-Rob Hoffman
"Teo Lachev" wrote:
> Ray,
> Yes, you would establish role-based security policies just like you would do
> with Windows-based security. Your authorization extension will have the
> final say if the user is authorized to perform a given action. For example,
> if you need to implement role membership rules, you can change the
> CheckAccess overloads to account for the addtional rights that the user will
> get based on her role membership. Debugging the CheckAccess overloads should
> help you clarify how this could be done.
> --
> Hope this helps.
> ----
> Teo Lachev, MCSD, MCT
> Author: "Microsoft Reporting Services in Action"
> Publisher website: http://www.manning.com/lachev
> Buy it from Amazon.com: http://shrinkster.com/eq
> Home page and blog: http://www.prologika.com/
> ----
> "RayG" <RayG@.discussions.microsoft.com> wrote in message
> news:40831253-2400-44A3-8A2E-3FF9171C7510@.microsoft.com...
> > We are currently implementing forms authentication in our RS deployment.
> The
> > MSDN sample helped get us started. We are now faced with the
> authorization
> > implementation.
> >
> > How do I go about telling RS which user has access to which folder/report?
> > Telling RS which users will be administrators? Do I still get to use
> > role-based security and can create/edit my roles through the Report
> Manager
> > or do I need to assign indepentent permissions per user?
>
>|||Rob,
How did you test that CheckAccess overloads are not invoked? Please note
that they will be invoked only during runtime. If you use the Report Manager
they are not invoked. Instead, GetPermissions will be called. Therefore, you
need to duplicate the same permission checks in GetPermissions as you would
in CheckAccess. I suggest you refactor the common logic from CheckAccess
overloads in a helper function so can be easily reused.
So, just like with Windows authentication, your security authentication
extensions will authenticate the user based on the user identity. In other
words, if I am Bob and I belong to role Sales Reps, I will log in as Bob. In
my authorization extension I will authorize the user based on the user
identity and role membership. Once again, you need to do this in both
CheckAccess and GetPermissions, the later being used by the Report Manager
as a result to a call to the GetPermissions SOAP API.
--
Hope this helps.
----
Teo Lachev, MCSD, MCT
Author: "Microsoft Reporting Services in Action"
Publisher website: http://www.manning.com/lachev
Buy it from Amazon.com: http://shrinkster.com/eq
Home page and blog: http://www.prologika.com/
----
"Rob Hoffman" <RobHoffman@.discussions.microsoft.com> wrote in message
news:7BE3E0A3-95C0-46D3-B589-7AAB38A38B1D@.microsoft.com...
> Hi Teo,
> I am having a problem similar to RayG's, using the forms authentication
> sample code. I put some debug statements into the
> Microsoft.Samples.ReportingServices.CustomSecurity.Authorization class,
> CheckAccess methods. I also commented out the logic in the
> AuthenticationExtension and AuthenticationUtilities classes such that all
> logon attempts are permitted without password checking (return true).
> I found that when accessing report resources using an identity that is
> defined in MSRS, that the Authorization.CheckAccess methods are invoked.
I
> set up security on the Home folder and one subfolder, and was able to use
> combinations of groups to restrict access appropriately. I also found
that
> when you use a logon credential that is not defined in MSRS (that is, not
> used in any object's ACL), that the Authorization.CheckAccess methods are
not
> invoked. For example, I set up a "Users" group, and granted it access to
a
> folder. Logging on as "Users" I could access this folder. Logging on as
> "User" gave me an access denied message, as expected, however, none of the
> Authorization.CheckAccess methods were invoked either...unexpected.
> This presents a problem, as I am trying to set up groups in MSRS that map
to
> user groups in my application. It seems that because the
> Authorization.CheckAccess methods are not invoked in this case, there is
no
> opportunity to extend them with custom authorization code which would take
> advantage of a user's GenericPrincipal role affiliations (using a
> GenericPrincipal object I attached to the HttpContext earlier) to
facilitate
> group-to-group mapping for confirming or denying access to a resource.
> I don't know if this is a bug in MSRS, or if I have simply misconfigured
> something. Any ideas? Thanks.
> -Rob Hoffman
> "Teo Lachev" wrote:
> > Ray,
> >
> > Yes, you would establish role-based security policies just like you
would do
> > with Windows-based security. Your authorization extension will have the
> > final say if the user is authorized to perform a given action. For
example,
> > if you need to implement role membership rules, you can change the
> > CheckAccess overloads to account for the addtional rights that the user
will
> > get based on her role membership. Debugging the CheckAccess overloads
should
> > help you clarify how this could be done.
> >
> > --
> > Hope this helps.
> >
> > ----
> > Teo Lachev, MCSD, MCT
> > Author: "Microsoft Reporting Services in Action"
> > Publisher website: http://www.manning.com/lachev
> > Buy it from Amazon.com: http://shrinkster.com/eq
> > Home page and blog: http://www.prologika.com/
> > ----
> >
> > "RayG" <RayG@.discussions.microsoft.com> wrote in message
> > news:40831253-2400-44A3-8A2E-3FF9171C7510@.microsoft.com...
> > > We are currently implementing forms authentication in our RS
deployment.
> > The
> > > MSDN sample helped get us started. We are now faced with the
> > authorization
> > > implementation.
> > >
> > > How do I go about telling RS which user has access to which
folder/report?
> > > Telling RS which users will be administrators? Do I still get to use
> > > role-based security and can create/edit my roles through the Report
> > Manager
> > > or do I need to assign indepentent permissions per user?
> >
> >
> >|||Teo,
Thanks for turning me on to the GetPermissions method...adding a role check
there did the trick. To check the invocation of the CheckAccess overloads, I
just wrote some debug statements to a log file. Thanks again for your help.
-Rob Hoffman
"Teo Lachev" wrote:
> Rob,
> How did you test that CheckAccess overloads are not invoked? Please note
> that they will be invoked only during runtime. If you use the Report Manager
> they are not invoked. Instead, GetPermissions will be called. Therefore, you
> need to duplicate the same permission checks in GetPermissions as you would
> in CheckAccess. I suggest you refactor the common logic from CheckAccess
> overloads in a helper function so can be easily reused.
> So, just like with Windows authentication, your security authentication
> extensions will authenticate the user based on the user identity. In other
> words, if I am Bob and I belong to role Sales Reps, I will log in as Bob. In
> my authorization extension I will authorize the user based on the user
> identity and role membership. Once again, you need to do this in both
> CheckAccess and GetPermissions, the later being used by the Report Manager
> as a result to a call to the GetPermissions SOAP API.
> --
> Hope this helps.
> ----
> Teo Lachev, MCSD, MCT
> Author: "Microsoft Reporting Services in Action"
> Publisher website: http://www.manning.com/lachev
> Buy it from Amazon.com: http://shrinkster.com/eq
> Home page and blog: http://www.prologika.com/
> ----
[SNIPPED]

Custom Authorization user confusion

hi,
I have read a lot of other posts here about using custom Forms
Authentication, but am still having trouble comprending some points. I
understand the custom authentication piece (LogonUser) and understand how
CheckAccess() works.
Its setting up users that confuses me. Do users have to be defined and
assigned roles with ReportManager? (My users are defined in a custom
database)
If I don't use ReportManager, how can I (programmatically) create users
dynamically and associate these users with a newly defined role? I know I
can use the CreateRole() method for to define a new role - just don't see any
methods that deal with users.
I assume there has to be a way because (again another assumption) I think
ReportManager uses the same interfaces available to me (through the
ReportingService class).
Thanks,
Matt> Its setting up users that confuses me. Do users have to be defined and
> assigned roles with ReportManager? (My users are defined in a custom
> database)
The users can be defined in any datastore. In this case, it's your
database.
> If I don't use ReportManager, how can I (programmatically) create users
> dynamically and associate these users with a newly defined role?
You develop some process to create users. ReportManager doesn't create
users. For example, your application may have a Manage Users screen.
Using Forms Auth you can assign roles to users. For example, the below
function takes a username (valid user from your data store) and a
Report Server folder. Then it assigns the user the Browser role. So if a
valid user in your database is 'TestUser' and you want to add 'TestUser' as
a Browser to 'TestFolder'...
AddUserToFolderPolicy("TestFolder", "TestUser", ref string errMessage)
private bool AddUserToFolderPolicy(string folder, string user, ref string
errMessage)
{
try
{
//Get the Browser role
Role[]roles = m_ReportingService.ListRoles();
Role browserRole = new Role();
foreach (Role r in roles)
{
if (r.Name == "Browser") browserRole = r;
break;
}
Role[] policyRoles = new Role[1];
policyRoles[0] = new Role();
policyRoles[0] =browserRole;
//Get the current policies of the folder in question
string path = "/" + folder;
bool inheritParent = false;
Policy[] currentPolicies = m_ReportingService.GetPolicies(path, out
inheritParent);
//If the user is currently in the current policy set just return
for(int i=0;i<currentPolicies.Length;i++)
if(currentPolicies[i].GroupUserName == user)
return true;
//Create the new policy array and add the new user
ArrayList arrPolicies = new ArrayList(currentPolicies);
Policy p = new Policy();
p.GroupUserName = user;
p.Roles = policyRoles;
arrPolicies.Add(p);
Policy[] finalPolicies = (Policy[])arrPolicies.ToArray(typeof(Policy));
//Set the policies
m_ReportingService.SetPolicies(path,finalPolicies);
}
catch (Exception e)
{
errMessage = e.Message;
return false;
}
return true;
}
HTH|||Yes, this helps - so I can set access to folders by using the SetPolicies()
method. This makes sense now. The user doesn't already have to be defined
in ReportManager, it can be any name (that makes sense - in this case a name
from my user database). And you're right about the ReportManager - I went
back and now I see it works in exactly the same way. This was the missing
piece for me.
I assume I can follow the same procedure for individual reports (and linked
reports) - I just have to specify the full path to the report.
Thanks for your help.
Matt
"FNDS" wrote:
>
> > Its setting up users that confuses me. Do users have to be defined and
> > assigned roles with ReportManager? (My users are defined in a custom
> > database)
> The users can be defined in any datastore. In this case, it's your
> database.
> >
> > If I don't use ReportManager, how can I (programmatically) create users
> > dynamically and associate these users with a newly defined role?
> You develop some process to create users. ReportManager doesn't create
> users. For example, your application may have a Manage Users screen.
> Using Forms Auth you can assign roles to users. For example, the below
> function takes a username (valid user from your data store) and a
> Report Server folder. Then it assigns the user the Browser role. So if a
> valid user in your database is 'TestUser' and you want to add 'TestUser' as
> a Browser to 'TestFolder'...
> AddUserToFolderPolicy("TestFolder", "TestUser", ref string errMessage)
>
> private bool AddUserToFolderPolicy(string folder, string user, ref string
> errMessage)
> {
> try
> {
> //Get the Browser role
> Role[]roles = m_ReportingService.ListRoles();
> Role browserRole = new Role();
> foreach (Role r in roles)
> {
> if (r.Name == "Browser") browserRole = r;
> break;
> }
> Role[] policyRoles = new Role[1];
> policyRoles[0] = new Role();
> policyRoles[0] =browserRole;
> //Get the current policies of the folder in question
> string path = "/" + folder;
> bool inheritParent = false;
> Policy[] currentPolicies = m_ReportingService.GetPolicies(path, out
> inheritParent);
> //If the user is currently in the current policy set just return
> for(int i=0;i<currentPolicies.Length;i++)
> if(currentPolicies[i].GroupUserName == user)
> return true;
> //Create the new policy array and add the new user
> ArrayList arrPolicies = new ArrayList(currentPolicies);
> Policy p = new Policy();
> p.GroupUserName = user;
> p.Roles = policyRoles;
> arrPolicies.Add(p);
> Policy[] finalPolicies = (Policy[])arrPolicies.ToArray(typeof(Policy));
> //Set the policies
> m_ReportingService.SetPolicies(path,finalPolicies);
> }
> catch (Exception e)
> {
> errMessage = e.Message;
> return false;
> }
> return true;
> }
> HTH
>
>|||There is a vocabulary clarification to make. The roles are merely RS roles
(browser, content manager, etc.) that specify sets of permissions. If you
want to have user groups, for what is commonly called "role-based security",
you need to modify the Forms Authentication sample code to support both
users and groups (in CheckAccess, IsValidPrincipal, etc.), and you maintain
the groups alongside the users in your security database -- completely
outside reporting services. Then, you can assign Forms Auth groups to RS
roles as well, just like you do with Windows Authentication.
--
Cheers,
'(' Jeff A. Stucker
\
Business Intelligence
www.criadvantage.com
---
"mshumaker" <mshumaker@.discussions.microsoft.com> wrote in message
news:772301D2-6836-4219-A40B-23DDFB562A9E@.microsoft.com...
> hi,
> I have read a lot of other posts here about using custom Forms
> Authentication, but am still having trouble comprending some points. I
> understand the custom authentication piece (LogonUser) and understand how
> CheckAccess() works.
> Its setting up users that confuses me. Do users have to be defined and
> assigned roles with ReportManager? (My users are defined in a custom
> database)
> If I don't use ReportManager, how can I (programmatically) create users
> dynamically and associate these users with a newly defined role? I know I
> can use the CreateRole() method for to define a new role - just don't see
> any
> methods that deal with users.
> I assume there has to be a way because (again another assumption) I think
> ReportManager uses the same interfaces available to me (through the
> ReportingService class).
> Thanks,
> Matt
>|||Hi,
Was reading through thiis post. I am trying this out currently. m_ReportingService is the webService right? If so, I am getting an error " ListRoles() take 0 Arguements"!
Am I missing something
From http://www.developmentnow.com/g/115_2005_1_0_0_454650/Custom-Authorization-user-confusion.ht
Posted via DevelopmentNow.com Group
http://www.developmentnow.com

Custom Authorization

Hi,
I was wondering if it was possible to setup RS to use custom
authorization with out implementing custom authentication ? I want to
use windows authentication for authentication, and custom
authorization. If its possible how would I go about configuring it ?
ThanksHello,
you can't implement both (Forms and Windos) authentications together!
Your first question is a bit confusing, I'm not shure if I understand it
correct.
You can find out how to implement forms authentication in the following
article:
http://msdn2.microsoft.com/en-us/library/ms160724.aspx
A sample application can be found in samples bellowe the SQL Server
installation directory. If requiered you can install this sample with the
installation CD or download them as described in the article.
There are some traps in this article, especialy with w2k3 server.
For the report manager the instructions are not working. You need to
configure Windows instate of forms in the config file.
You need to followe the instruction carefully and expect some traps and time
for googling, trial and error etc.
"ismell1@.gmail.com" wrote:
> Hi,
> I was wondering if it was possible to setup RS to use custom
> authorization with out implementing custom authentication ? I want to
> use windows authentication for authentication, and custom
> authorization. If its possible how would I go about configuring it ?
> Thanks
>|||I'm not trying to use both of them together, I'm trying to use windows
<b>AUTHENTICATION</b> and use custom <b>AUTHORIZATION</b>.
I wan't my users to be authenticated via windows security but I wan't
to control what they have access to via my custom extension. I
couldn't find anything in the config files but what I ended up doing
was replacing the windows authorization config line with mine and it
loaded the DLL just fine.
<pre>
<Security>
<!--<Extension Name="Windows"
Type="Microsoft.ReportingServices.Authorization.WindowsAuthorization,
Microsoft.ReportingServices.Authorization"/>-->
<Extension Name="Windows" Type="rxLibrary.rxSecurity, rxSecurity"/>
</Security>
</pre>
Now my problem is that when i try and load the ACL i get a
serialization exception "The input stream is not a valid binary
format. The starting contents (in bytes) are: XX-XX...". After doing
some research I think its because the security description was created
with the windows dll. So now I have to figure out how to clear the old
security descriptions and I can create new ones using my
CreateSecurityDescriptor function.
Any help would be appreciated.
Thanks
On Jan 21, 1:23 pm, Ralf Stofer <RalfSto...@.discussions.microsoft.com>
wrote:
> Hello,
> you can't implement both (Forms and Windos) authentications together!
> Your first question is a bit confusing, I'm not shure if I understand it
> correct.
> You can find out how to implement forms authentication in the following
> article:http://msdn2.microsoft.com/en-us/library/ms160724.aspx
> A sample application can be found in samples bellowe the SQL Server
> installation directory. If requiered you can install this sample with the
> installation CD or download them as described in the article.
> There are some traps in this article, especialy with w2k3 server.
> For the report manager the instructions are not working. You need to
> configure Windows instate of forms in the config file.
> You need to followe the instruction carefully and expect some traps and time
> for googling, trial and error etc.
> "isme...@.gmail.com" wrote:
> > Hi,
> > I was wondering if it was possible to setup RS to use custom
> > authorization with out implementing custom authentication ? I want to
> > use windows authentication for authentication, and custom
> > authorization. If its possible how would I go about configuring it ?
> > Thanks|||I was trying to create custom a authorization extension with out having to
use forms authentication. I didn't see any thing in the config files for
setting that. So what I ended up doing was replacing the Windows
authorization module with my own.
<Security>
<!--<Extension Name="Windows"
Type="Microsoft.ReportingServices.Authorization.WindowsAuthorization,
Microsoft.ReportingServices.Authorization"/>-->
<Extension Name="Windows" Type="rxLibrary.rxSecurity, rxSecurity"/>
</Security>
This seems to work just fine, now my problem is when I try and deserialize
the ACL's I get a "The input stream is not a valid binary format" Exception.
after doing some research i found that the ACL was created using the Default
CreateSecurityDescriptor function, so my extension can't deserialize it.
So now I'm wondering if its possible to clear the secuirty descriptors for
all objects on the server ?
Thanks,
Raul
"Ralf Stofer" wrote:
> Hello,
> you can't implement both (Forms and Windos) authentications together!
> Your first question is a bit confusing, I'm not shure if I understand it
> correct.
> You can find out how to implement forms authentication in the following
> article:
> http://msdn2.microsoft.com/en-us/library/ms160724.aspx
> A sample application can be found in samples bellowe the SQL Server
> installation directory. If requiered you can install this sample with the
> installation CD or download them as described in the article.
> There are some traps in this article, especialy with w2k3 server.
> For the report manager the instructions are not working. You need to
> configure Windows instate of forms in the config file.
> You need to followe the instruction carefully and expect some traps and time
> for googling, trial and error etc.
>
>
>
> "ismell1@.gmail.com" wrote:
> > Hi,
> > I was wondering if it was possible to setup RS to use custom
> > authorization with out implementing custom authentication ? I want to
> > use windows authentication for authentication, and custom
> > authorization. If its possible how would I go about configuring it ?
> >
> > Thanks
> >

Custom authentication support in RS 2000

Hi,
I read somewhere that only Integrated Windows Authentication is
supported in RS 2000. Out Web application has internet users, so I
cannot use IW authentication.
Is there any way to use custom authentication (form based)?
Without this we cannot use RS in our application.
Please help.
regards,
Sachin.Hi Sachin,
I don´t know if there´s a way to use form based authentication in rs - I
don´t believe so.
A possible workaround:
run the rs-web under a useraccount who may use rs (but then you can´t differ
between the internet-users) and build your own web-frontend in front of the
rs-web where users only see their reports... a lot of action but full
control.
hth, Tony
"sachin laddha" <sachinladdha@.gmail.com> schrieb im Newsbeitrag
news:1143199592.405622.169790@.g10g2000cwb.googlegroups.com...
> Hi,
> I read somewhere that only Integrated Windows Authentication is
> supported in RS 2000. Out Web application has internet users, so I
> cannot use IW authentication.
> Is there any way to use custom authentication (form based)?
> Without this we cannot use RS in our application.
> Please help.
> regards,
> Sachin.
>|||Yeah there is. There are several articles on how to do so. And samples
that come with RS2000 and 2005.
However, Custom (forms) authentiation only works in Developer Edition and
Enterprise Edition of 2000, it works with standard in 2005.
"Toni Pohl" <atwork43@.hotmail.com__nospam> wrote in message
news:uTVRWk0TGHA.5884@.TK2MSFTNGP14.phx.gbl...
> Hi Sachin,
> I don´t know if there´s a way to use form based authentication in rs - I
> don´t believe so.
> A possible workaround:
> run the rs-web under a useraccount who may use rs (but then you can´t
> differ between the internet-users) and build your own web-frontend in
> front of the rs-web where users only see their reports... a lot of action
> but full control.
> hth, Tony
> "sachin laddha" <sachinladdha@.gmail.com> schrieb im Newsbeitrag
> news:1143199592.405622.169790@.g10g2000cwb.googlegroups.com...
>> Hi,
>> I read somewhere that only Integrated Windows Authentication is
>> supported in RS 2000. Out Web application has internet users, so I
>> cannot use IW authentication.
>> Is there any way to use custom authentication (form based)?
>> Without this we cannot use RS in our application.
>> Please help.
>> regards,
>> Sachin.
>|||Using Forms Authentication in Reporting Services.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql2k/html/ufairs.asp
Sadly, as was mentioned, it needs Developer or Enterprise Edition in RS
2000.
"Chris Taylor" <ctaylor7480@.newsgroups.nospam> wrote in message
news:%23Do3Wu2TGHA.4792@.TK2MSFTNGP14.phx.gbl...
> Yeah there is. There are several articles on how to do so. And samples
> that come with RS2000 and 2005.
> However, Custom (forms) authentiation only works in Developer Edition and
> Enterprise Edition of 2000, it works with standard in 2005.
> "Toni Pohl" <atwork43@.hotmail.com__nospam> wrote in message
> news:uTVRWk0TGHA.5884@.TK2MSFTNGP14.phx.gbl...
>> Hi Sachin,
>> I don´t know if there´s a way to use form based authentication in rs - I
>> don´t believe so.
>> A possible workaround:
>> run the rs-web under a useraccount who may use rs (but then you can´t
>> differ between the internet-users) and build your own web-frontend in
>> front of the rs-web where users only see their reports... a lot of action
>> but full control.
>> hth, Tony
>> "sachin laddha" <sachinladdha@.gmail.com> schrieb im Newsbeitrag
>> news:1143199592.405622.169790@.g10g2000cwb.googlegroups.com...
>> Hi,
>> I read somewhere that only Integrated Windows Authentication is
>> supported in RS 2000. Out Web application has internet users, so I
>> cannot use IW authentication.
>> Is there any way to use custom authentication (form based)?
>> Without this we cannot use RS in our application.
>> Please help.
>> regards,
>> Sachin.
>>
>

Custom Authentication in RS 2005

We are currently using RS Standard Edition (SE). With the first version of
RS, Custom Authentication was only available for the Enterprise Edition
(EE).
I was reading the new features of RS 2005, and I noticed that Custom
Authentication is now available for both SE and EE licenses. Is this
correct? I just want to confirm (before installing RS 2005) since this is
our major hurdle in creating a secure reporting system.
TIA.
MarlonYES, regarding this article
http://msdn2.microsoft.com/ms143761.aspx
Med bouchenafa
"TechnoSpyke" <technospyke@.yahoo.com> a écrit dans le message de news:
uQtAPloIGHA.1876@.TK2MSFTNGP11.phx.gbl...
> We are currently using RS Standard Edition (SE). With the first version
> of RS, Custom Authentication was only available for the Enterprise Edition
> (EE).
> I was reading the new features of RS 2005, and I noticed that Custom
> Authentication is now available for both SE and EE licenses. Is this
> correct? I just want to confirm (before installing RS 2005) since this is
> our major hurdle in creating a secure reporting system.
> TIA.
>
> Marlon
>

Custom Authentication and Report Builder

Report Builder doesn't play to well with Custom authentication does it?
If i'm wrong let me know, otherwise, time to start getting creative again.Welcome to the MSDN newsgroup Chris,
As for the custom authentications like Forms Authenticaiton, it require the
client-side application interactively provide the username/password
credentials, therefore when report server is configured to use forms
authentication, we can access the reports or other resources through
browser. For those client application which programmatically access the
reports, such as the ReportBuilder tool, it will fail to provide user
credential interactively, so this is one of the limitation when using forms
authentication currenlty.
Regards,
Steven Cheng
Microsoft Online Support
Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

Custom Authentication

How do I change Authentication from Domain to custom.
I tried the sample on teh website but somehow I dont have the solution
required to do the modification...
Help greatly appreciated.
--
Smit N Shah
CIO OmegaSoft Inc.
http://www.omegasoftinc.comDid you carefully follow the steps outlined here:
http://msdn.microsoft.com/library/?url=/library/en-us/dnsql2k/html/ufairs.asp?frame=true#ufairs_topic3
Cheers,
'(' Jeff A. Stucker
\
Business Intelligence
www.criadvantage.com
---
"WizKid" <WizKid@.discussions.microsoft.com> wrote in message
news:2013D270-7241-4E13-93E0-313122B2548C@.microsoft.com...
> How do I change Authentication from Domain to custom.
> I tried the sample on teh website but somehow I dont have the solution
> required to do the modification...
> Help greatly appreciated.
>
> --
> Smit N Shah
> CIO OmegaSoft Inc.
> http://www.omegasoftinc.com

Custom Auth / SSRS 2005 / ASP.NET

Hi,
I've implemented the custom authentication provider as prescribed by MSDN
documentation. Everything is working pretty much as expected, however, I
want to programatically retreive information about the report (such as the
datasources, parameters, etc.)
I extended a class for RSExecutionService and can get an authentication
cookie back etc. However, if I want to use the
rs.GetDataSourceContents(dataSource) method, I get a response saying the
object is moved.
The request failed with the error message:
--
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a
href="http://links.10026.com/?link=/ReportServer/logon.aspx?ReturnUrl=%2fReportServer%2fReportService.asmx">here</a>.</h2>
</body></html>
Ideas on how to get around this?
Thanks,
ChrisNevermind... Should read the word "Proxy" closer... and think before
coding...
solved, works like a charm. Man I love inheritance.
"Chris Taylor" <ctaylor7480@.newsgroups.nospam> wrote in message
news:upSzMR4IGHA.3984@.TK2MSFTNGP14.phx.gbl...
> Hi,
> I've implemented the custom authentication provider as prescribed by MSDN
> documentation. Everything is working pretty much as expected, however, I
> want to programatically retreive information about the report (such as the
> datasources, parameters, etc.)
> I extended a class for RSExecutionService and can get an authentication
> cookie back etc. However, if I want to use the
> rs.GetDataSourceContents(dataSource) method, I get a response saying the
> object is moved.
> The request failed with the error message:
> --
> <html><head><title>Object moved</title></head><body>
> <h2>Object moved to <a
> href="http://links.10026.com/?link=/ReportServer/logon.aspx?ReturnUrl=%2fReportServer%2fReportService.asmx">here</a>.</h2>
> </body></html>
> Ideas on how to get around this?
> Thanks,
> Chris
>

Tuesday, February 14, 2012

Custom Application on different server than ReportServer

We are using forms authentication for our custom application. The site
connects to ReportServer and runs reports. This all works fine IF the
ReportServer is on the same webserver. If ReportServer exists on a
different web server, then we consistently get a logon ticket
authentication error.
I can confirm that the sqlAuthCookie is getting down to the browser
level, but it does not seem to get back to the server. It appears that
the ReportServer ignores the cookie and creates a new one.
Has anyone gotten this architecture to work? Both machines are on the
same network, firewalls turned off, and can see each other fine.Just in your web.config file where your asp.net code's are there, use state
server instead of InProc. This will enable to store the session and pass on
the same session variable (ie login id ) to the remote. I think the login Id
is not getting passed
to the remote server, that is why the error. Just try and let me know
whether it works.
Amarnath
"google@.landy.net" wrote:
> We are using forms authentication for our custom application. The site
> connects to ReportServer and runs reports. This all works fine IF the
> ReportServer is on the same webserver. If ReportServer exists on a
> different web server, then we consistently get a logon ticket
> authentication error.
> I can confirm that the sqlAuthCookie is getting down to the browser
> level, but it does not seem to get back to the server. It appears that
> the ReportServer ignores the cookie and creates a new one.
> Has anyone gotten this architecture to work? Both machines are on the
> same network, firewalls turned off, and can see each other fine.
>