Showing posts with label order. Show all posts
Showing posts with label order. Show all posts

Monday, March 19, 2012

Authenticating URL images

Hello,
I have a server that provides images (image server). These images are
accessed by my report. In order to improve the security access to the
images, I need to set the authentication on the image server. Reporting
Services sp1 doesn't support it (as declared) then I'm looking for an
alternative.
I thought to have a client certificate (where the report server is hosted)
and request a digital certificate to the image server. Is there any other
alternative ?
Thanks,
Pierre
--
---
Pierre Greborio
Microsoft .NET MVP
http://www.ugidotnet.org
http://www.amazon.com/infopath
---Hi Pierre:
Is it an Intranet environment? What about disabling anonymous access
to the directory with the images on the image server and requiring
windows authentication?
Just a thought,
--
Scott
http://www.OdeToCode.com
On Mon, 2 Aug 2004 10:31:14 +0200, "Pierre Greborio"
<pierreANTI_SPAM@.pierregreborio.it> wrote:
>Hello,
>I have a server that provides images (image server). These images are
>accessed by my report. In order to improve the security access to the
>images, I need to set the authentication on the image server. Reporting
>Services sp1 doesn't support it (as declared) then I'm looking for an
>alternative.
>I thought to have a client certificate (where the report server is hosted)
>and request a digital certificate to the image server. Is there any other
>alternative ?
>Thanks,
>Pierre|||Hi Scott,
> Is it an Intranet environment? What about disabling anonymous access
> to the directory with the images on the image server and requiring
> windows authentication?
I get a security error. It seems that the windows authentication isn't
supported. Is there any workaround ?
Thanks,
Pierre
>> Hello,
>> I have a server that provides images (image server). These images are
>> accessed by my report. In order to improve the security access to the
>> images, I need to set the authentication on the image server.
>> Reporting Services sp1 doesn't support it (as declared) then I'm
>> looking for an alternative.
>> I thought to have a client certificate (where the report server is
>> hosted) and request a digital certificate to the image server. Is
>> there any other alternative ?
>> Thanks,
>> Pierre
--
---
Pierre Greborio
Microsoft .NET MVP
http://www.ugidotnet.org
http://www.amazon.com/infopath
---|||Hi Pierre:
Off hand I cannot think of another way to protect images on the image
server - I think it's strange you'd get a security error enabling
windows authenticaiton but perhaps I'm not understanding the
environment you are in.
Another option would be to keep the images as blobs in the database,
then it could be setup so that only people with access to the report
will have access to the images.
--s
On Mon, 2 Aug 2004 16:54:42 +0200, "Pierre Greborio"
<pierreANTI_SPAM@.pierregreborio.it> wrote:
>Hi Scott,
>> Is it an Intranet environment? What about disabling anonymous access
>> to the directory with the images on the image server and requiring
>> windows authentication?
>I get a security error. It seems that the windows authentication isn't
>supported. Is there any workaround ?
>Thanks,
>Pierre
>> Hello,
>> I have a server that provides images (image server). These images are
>> accessed by my report. In order to improve the security access to the
>> images, I need to set the authentication on the image server.
>> Reporting Services sp1 doesn't support it (as declared) then I'm
>> looking for an alternative.
>> I thought to have a client certificate (where the report server is
>> hosted) and request a digital certificate to the image server. Is
>> there any other alternative ?
>> Thanks,
>> Pierre
--
Scott
http://www.OdeToCode.com|||Pierre,
Not sure what you mean by "I need to set the authentication on the image
server". In SP 1, image access is done under the context of a special
account. From the SP1 Readme:
"When the report is previewed in Report Designer, preview uses the
credentials of the user to display the image. When the report is run on the
report server, the report server uses the unattended execution account to
retrieve the image. If the unattended execution account is not specified,
the image is retrieved using no credentials (anonymous user account). If
either of these accounts have insufficient rights to access the image, the
image will not be displayed in the report. For more information about
setting the unattended execution account on the report server, see
"Configuring an Account for Unattended Report Processing" in Reporting
Services Books Online."
If you need more secure acces than this, you can try using a function for
the image source which will do the security check.
--
Hope this helps.
---
Teo Lachev, MCSD, MCT
Author: "Microsoft Reporting Services in Action"
http://www.prologika.com
"Pierre Greborio" <pierreANTI_SPAM@.pierregreborio.it> wrote in message
news:uLiNRqGeEHA.3148@.TK2MSFTNGP10.phx.gbl...
> Hello,
> I have a server that provides images (image server). These images are
> accessed by my report. In order to improve the security access to the
> images, I need to set the authentication on the image server. Reporting
> Services sp1 doesn't support it (as declared) then I'm looking for an
> alternative.
> I thought to have a client certificate (where the report server is hosted)
> and request a digital certificate to the image server. Is there any other
> alternative ?
> Thanks,
> Pierre
> --
> ---
> Pierre Greborio
> Microsoft .NET MVP
> http://www.ugidotnet.org
> http://www.amazon.com/infopath
> ---
>

Auditing: some useful (?) code and a question

I'm still trying to decide the "right" solution for auditing, but here's one
solution I've been looking at. It uses dynamic SQL in order to be able to
handle changes to the underlying tables without changes. There's also some
code (not included) that sets up the auditing table based on the underlying
table.
My question: I notice this results in lots of "updates" where nothing
changes. I noticed that COLUMNS_UPDATED is _really_ "columns in the UPDATE
statement", which is not the same thing at all!
Any suggestions on the best way to say "insert this record, but only if
something really changed"?
-- start off the SQL
select @.sql = 'insert mauryaudit (transactionType, transactionUser,
transactionDate' + CHAR(13) + CHAR(10)
-- add the field list
select @.field = 0, @.maxfield = max(ORDINAL_POSITION) from
INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'test'
while @.field < @.maxfield
begin
select @.field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'test' and ORDINAL_POSITION > @.field
select @.fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where
TABLE_NAME = 'test' and ORDINAL_POSITION = @.field
select @.sql = @.sql + ',' + @.fieldname + CHAR(13) + CHAR(10)
end
-- close the field list and start the select statement
select @.sql = @.sql + ')' + CHAR(13) + CHAR(10) + 'select ''U'', ''' +
@.NowUser + ''', ''' + CAST(@.NowDate as varchar) + '''' + CHAR(13) + CHAR(10)
-- continue the select statement
select @.field = 0
while @.field < @.maxfield
begin
select @.field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'test' and ORDINAL_POSITION > @.field
select @.fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where
TABLE_NAME = 'test' and ORDINAL_POSITION = @.field
select @.sql = @.sql + ',i.' + @.fieldname + CHAR(13) + CHAR(10)
end
-- close it off
select @.sql = @.sql + ' from #ins i'
exec (@.sql)
See
http://www.nigelrivett.net/AuditTrailTrigger.html
http://www.nigelrivett.net/GenerateTriggerForAudit.html
And probably all the articles unser triggers on www.nigelrivett.net.
To only log changes you will have to check the before and after values of
each field.
Not that you will have problems if there is a blob in the table.
http://www.nigelrivett.net/Columns_updated.html
And has bigger problems if the column order has moved due to an alter table.
columns_updated also gets a bit awkward for more than 32 columns
"Maury Markowitz" wrote:

> I'm still trying to decide the "right" solution for auditing, but here's one
> solution I've been looking at. It uses dynamic SQL in order to be able to
> handle changes to the underlying tables without changes. There's also some
> code (not included) that sets up the auditing table based on the underlying
> table.
> My question: I notice this results in lots of "updates" where nothing
> changes. I noticed that COLUMNS_UPDATED is _really_ "columns in the UPDATE
> statement", which is not the same thing at all!
> Any suggestions on the best way to say "insert this record, but only if
> something really changed"?
> -- start off the SQL
> select @.sql = 'insert mauryaudit (transactionType, transactionUser,
> transactionDate' + CHAR(13) + CHAR(10)
> -- add the field list
> select @.field = 0, @.maxfield = max(ORDINAL_POSITION) from
> INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'test'
> while @.field < @.maxfield
> begin
> select @.field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS
> where TABLE_NAME = 'test' and ORDINAL_POSITION > @.field
> select @.fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where
> TABLE_NAME = 'test' and ORDINAL_POSITION = @.field
> select @.sql = @.sql + ',' + @.fieldname + CHAR(13) + CHAR(10)
> end
> -- close the field list and start the select statement
> select @.sql = @.sql + ')' + CHAR(13) + CHAR(10) + 'select ''U'', ''' +
> @.NowUser + ''', ''' + CAST(@.NowDate as varchar) + '''' + CHAR(13) + CHAR(10)
> -- continue the select statement
> select @.field = 0
> while @.field < @.maxfield
> begin
> select @.field = min(ORDINAL_POSITION) from INFORMATION_SCHEMA.COLUMNS
> where TABLE_NAME = 'test' and ORDINAL_POSITION > @.field
> select @.fieldname = COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where
> TABLE_NAME = 'test' and ORDINAL_POSITION = @.field
> select @.sql = @.sql + ',i.' + @.fieldname + CHAR(13) + CHAR(10)
> end
> -- close it off
> select @.sql = @.sql + ' from #ins i'
> exec (@.sql)
|||"Nigel Rivett" wrote:

> See
> http://www.nigelrivett.net/AuditTrailTrigger.html
> http://www.nigelrivett.net/GenerateTriggerForAudit.html
If I am reading them correctly, the "trick" is to join on a per-column
basis, thereby generating no inserts for those fields that do not have an
actual change. However it is not so clear how to do this in my trigger, where
the entire change "set" is entered as a single row instead of looping.
I could add another loop to check to see if any columns actually changed
(comparing inserted and deleted as you do), but it would see that it would be
much more effeceint to do this in a single SQL statement. I could write a
loop/exec to do that, but I'm curious if you could suggest a better way to
handle that? Is there some SQL that will compare one entire row with another
without listing every column?
Maury
|||"Nigel Rivett" wrote:
I tried the obvious and expanded the loop to build three portions of the
insert...
1) the INSERT portion with the field list
2) the SELECT portion taking the values from inserted
3) the WHERE section comparing inserted and deleted
Sadly the result is >8000 chars, and fails. Is there some way to make the
statement significantly shorter? The checks for before/after nulls takes up
most of the room, is there some easier way to do this with the equality
check? Perhaps using ANSI/non-ANSI nulls?

Wednesday, March 7, 2012

Audit Logins

We are having an issue with an application connecting to
our database. In order to capture the login failures, I
went into Enterprise Manager properties and went to the
security tab. I then selected that audit level = all,
which to me means it audits all logins. However, when I
connect either correctly or with erros, there is nothing
written to the SQL Server Logs.
I tried to find more info in BOL's but couldn't. Where is
the audit info logged?
I now have a trace set up via profiler, but would still
like to understand why the 'audit level' via enterprise
manager didn't work. (I even ran a reconfig)
Thanks
SusanYou have to stop/restart the sql server service for this to take effect, and
the login failures will be in the SQL Server log.
"Susan" <anonymous@.discussions.microsoft.com> wrote in message
news:8efc01c3e9b9$663bc300$a601280a@.phx.gbl...
> We are having an issue with an application connecting to
> our database. In order to capture the login failures, I
> went into Enterprise Manager properties and went to the
> security tab. I then selected that audit level = all,
> which to me means it audits all logins. However, when I
> connect either correctly or with erros, there is nothing
> written to the SQL Server Logs.
> I tried to find more info in BOL's but couldn't. Where is
> the audit info logged?
> I now have a trace set up via profiler, but would still
> like to understand why the 'audit level' via enterprise
> manager didn't work. (I even ran a reconfig)
> Thanks
> Susan
>

Audit Logins

We are having an issue with an application connecting to
our database. In order to capture the login failures, I
went into Enterprise Manager properties and went to the
security tab. I then selected that audit level = all,
which to me means it audits all logins. However, when I
connect either correctly or with erros, there is nothing
written to the SQL Server Logs.
I tried to find more info in BOL's but couldn't. Where is
the audit info logged?
I now have a trace set up via profiler, but would still
like to understand why the 'audit level' via enterprise
manager didn't work. (I even ran a reconfig)
Thanks
SusanYou have to stop/restart the sql server service for this to take effect, and
the login failures will be in the SQL Server log.
"Susan" <anonymous@.discussions.microsoft.com> wrote in message
news:8efc01c3e9b9$663bc300$a601280a@.phx.gbl...
quote:

> We are having an issue with an application connecting to
> our database. In order to capture the login failures, I
> went into Enterprise Manager properties and went to the
> security tab. I then selected that audit level = all,
> which to me means it audits all logins. However, when I
> connect either correctly or with erros, there is nothing
> written to the SQL Server Logs.
> I tried to find more info in BOL's but couldn't. Where is
> the audit info logged?
> I now have a trace set up via profiler, but would still
> like to understand why the 'audit level' via enterprise
> manager didn't work. (I even ran a reconfig)
> Thanks
> Susan
>