Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
DotNet
acad.assignment.mngr
academic
adonet
aspnet
aspnet.announcements
aspnet.build.controls
aspnet.caching
aspnet.datagridcontrol
aspnet.mobile
aspnet.security
aspnet.webcontrols
aspnet.webservices
clr
compactframework
component_services
datatools
distributed_apps
drawing
faqs
framework
framework.wmi
general
internationalization
interop
languages.csharp
languages.jscript
languages.vb
languages.vb.controls
languages.vb.data
languages.vb.upgrade
languages.vc
languages.vc.libraries
myservices
odbcnet
performance
remoting
scripting
sdk
security
setup
vjsharp
vsa
webservi.enhancements
webservices
windowsforms
windowsforms.controls
winforms.databinding
winforms.designtime
xml
  
 
date: Wed, 17 May 2006 03:52:58 +0700,    group: microsoft.public.dotnet.distributed_apps        back       


Protecting Assemblies   
I'm building an n-tier application with data access, application and UI 
layers in separate projects and hence separate assemblies.
MyProjectUI.dll
MyProjectApp.dll
MyProjectDataAccess.dll

etc...

The application will eventually be publicly available for download and 
installed on end-users machines.

How can I protect my middle tier and DAL assemblies from unauthorised access 
so that a 'clever' user cannot add a reference to one of my separate 
assemblies and start calling it's public members. Marking members as 
Internal only works for classes that are 'inside' the same assembly.

Any tips or suggestions would be greatly appreciated.
date: Wed, 17 May 2006 03:52:58 +0700   author:   Anthony Bouch

Re: Protecting Assemblies   
"Anthony Bouch"  wrote:

You've crossposted!

> I'm building an n-tier application with data access, application and UI 
> The application will eventually be publicly available for download and 
> installed on end-users machines.
> 
> How can I protect my middle tier and DAL assemblies from unauthorised access 
> so that a 'clever' user cannot add a reference to one of my separate 
> assemblies and start calling it's public members. Marking members as 
> Internal only works for classes that are 'inside' the same assembly.

Fundamentally, you can't trust anything running on a client machine.
Normally, a middle tier runs on a remote machine (i.e. a middle tier
machine between the client and the database) for just this reason.

So, the "correct" answer is not to install the DAL assembly with the
client at all, and communicate via some mechanism (such as .NET remoting
or web services) with your middle tier.

-- Barry
date: Tue, 16 May 2006 22:07:05 +0100   author:   Barry Kelly

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us