This has been a common theme, but I haven't seen discussion quite on what I'm looking for, so I'll ask.
I'm planning on using LLBLgen in a project I'm bidding on. I haven't built large systems within the .NET environment, only smaller tool-oriented projects, so some of this is new to me. I've built and supported larger systems in other environments though, and want to overcome the common problems that I've created and grumbled at others for inflicting on me.
I want to design my application as cleanly as possible, and want to enforce good separation of concerns at the right layers. The primary UI will be ASP.NET, but I want to offer a WebDAV interface as well, as this application will store content objects that can be naturally exposed like a filesystem. I also want to do application-level action logging, error logging, and other crosscutting stuff that some folks are using AOP for. But the AOP stuff for .NET doesn't look particularly well-established, and I frankly didn't understand much of what I was looking at (Spring.NET in particular is just overwhelming).
Can folks give me suggestions or pointers to ways of approaching:
- Putting security (authentication and authorization) into the business objects layer. I don't want to tie this stuff into ASP.NET, nor do I want to use the code-based security that .NET uses, that seems like the wrong place to do what I want. It looks like the genericization I'm looking for is part of the Principal and PrincipalPermission classes in the framework. Can I implement this in a way that will work regardless of what interface I provide to my application? Examples?
- Providing a common logging framework (both error logging and application event logging).
- Other common application concerns?
I'm not looking for folks to tell me how to do my job :-) but I'd appreciate any pointers on how to most efficiently do this in the context of the LLBLgen environment.