Some parts of your questions are complex and beyond my experience. However, in general, you can do almost everything that you have invested in the CAP theorem and the like.
DAL / BLL can generally be in any of the levels. I have put a lot of things in my database, and some at the middle level, but this should allow reuse in different environments that may or may not be your goal. The fact is that I carefully thought out the separation of problems that arise here, and which centralization of logic you want to place. The farther back, the more it becomes available, but this is not always a free compromise.
I am not completely familiar with CAS, but it looked like AJAX from what I saw on the MSDN website. This may be wrong, but if it is correct, then you have a problem in that such requests may be inactive, and this may be a problem if you need a permanent connection.
In general, depending on what you are saying, this sounds purely to make a two-tier rather than three-tier application, and have a DAL / BLL on the client, possibly supported by stored procedures on the server. You can then install PostgreSQL to authenticate against what you use on your network (KRB5 if AD is what I would recommend). This simplifies data access and allows you to manage permissions based on database authentication. Since you can authenticate users based on AD, you can set permissions accordingly.
One important consideration will be the number of connections. PostgreSQL has some places where every current connection needs to be checked and retried, and in some cases there may be problems with starting and breaking the connection. Therefore, pooling is one important decision. Regardless of whether you use pooling to improve performance, it depends on what you are doing, but I have seen cases where PostgreSQL handled 600 connections without serious problems.
source share